javascript - 如何为音频播放器创建可视化工具

标签 javascript jquery html html5-audio audio-player

<分区>

有很多音乐播放器,甚至包括 HTML5 音频播放器,但如何为它们添加均衡器?我所说的均衡器是指:image (音频可视化图片的 OP 链接)

知道如何将它添加到音乐播放器吗?

提前致谢

最佳答案

好吧,也许为时已晚,但仍然可以帮助任何人。

如果您只想可视化频谱,那没什么大不了的。

首先,创建您的 AudioContext,然后从中创建分析器。

如果需要,添加过滤器或增益节点,然后将它们连接起来(即一个连接到另一个,然后另一个连接到最后。)。最后,连接您的音频目的地。

代码示例:

var canvas = document.querySelector('canvas'),
    ctx = canvas.getContext('2d');



// here we create our chain
var audio = document.querySelector('audio'),
    audioContext = new AudioContext(),
    source = audioContext.createMediaElementSource(audio),
    analyser = audioContext.createAnalyser();

source.connect(analyser);
analyser.connect(audioContext.destination);

setInterval(function(){
  var freqData = new Uint8Array(analyser.frequencyBinCount);

      analyser.getByteFrequencyData(freqData);

      ctx.clearRect(0, 0, width, height);

      for (var i = 0; i < freqData.length; i++ ) {
        var magnitude = freqData[i];
        ctx.fillRect(i*1.5, height, 1, -magnitude * 2);
      }
 }, 33);

像这样的。尽管您应该意识到此 API 的快速变化(这就是为什么许多网络音频 API 示例无法正常工作的原因)。

我用均衡器创建了一个简单的音乐播放器,你可以看看here . 你必须先搜索一些东西(即使是空行也可以),然后开始播放音乐—— Canvas 在底部。

关于javascript - 如何为音频播放器创建可视化工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19199670/

相关文章:

javascript - ajax使用json循环刷新div

javascript - 使用外部链接控制光滑的 slider

jquery - Typed.js - 未定义不是函数

javascript - 为什么这个脚本在 IE6 中不起作用?

javascript - 使用 Javascript 进行磁盘文本处理

javascript - 我在 html 中有一个文本区域和按钮。当我单击按钮时,文本区域内的任何内容都将以 .DOCX 文件的形式下载

html - 使此布局流畅的最佳方法是什么?

Python BeautifulSoup 从 find_all() 返回错误的输入列表

html - 主图文本属性

javascript - 如何在 vBulletin 中选择一个 radio 然后使用 jQuery 提交表单?