javascript - 与 Web Audio API 完美同步

标签 javascript web-audio-api

我正在开发一个简单的音频可视化应用程序,它使用 Web Audio API 分析器来提取频率数据,如 this example 所示。 .不出所料,我添加到 Canvas 中的视觉元素越多,音频和生成的视觉结果之间的延迟就越多。

是否有一种标准方法来解决这种延迟?我可以想象一种缓冲即将到来的音频数据的前瞻技术。我可以同步 JavaScript 和网络音频时钟,但我相信有一个更直观的答案。也许它就像稍微延迟大声播放音频一样简单(尽管这并不全面)。

dancer.js library似乎有同样的问题(总是有一个非常微妙的延迟),而其他应用程序似乎已经完全解决了延迟问题。到目前为止,我无法确定技术差异。 SoundJS似乎可以更好地处理这个问题,但从头开始构建会很好。

非常感谢任何能为我指明正确方向的方法。

最佳答案

我想您会在本文中找到精确音频时序的一些答案: http://www.html5rocks.com/en/tutorials/audio/scheduling/

SoundJS使用这种方法来启用平滑循环,但仍然使用 javascript 计时器来延迟播放。这可能无法帮助您将音频时间与动画时间同步。当我为 SoundJS 构建音乐可视化器示例时,我发现我必须使用不同的 fft 大小和节拍频率值来获得良好的性能。我还需要缓存单个形状并通过缩放重用它以获得高性能图形。

希望对您有所帮助。

关于javascript - 与 Web Audio API 完美同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20598147/

相关文章:

javascript - 使用依赖注入(inject)的 TypeScript 应用程序初始化

javascript - d3js X 轴数据按季度按年份分组

javascript - htl5 语音录制与可视化

javascript - Web Audio API AudioBufferSourceNode 失谐

audio - 网络音频调度改为立即播放

JavaScript 从表单验证本地日期时间

javascript - Sencha Grid - 如何在不知道顺序的情况下动态添加/删除基于条件的列

javascript - 当我单击 ajax 选项卡控件时,它显示一个矩形框如何在 asp.net 中删除

javascript - 网络音频api计时是否比setTimeout更精确

javascript - 音频播放器会预加载音频文件吗?