我正在开发一个简单的音频可视化应用程序,它使用 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/