1

我使用 wavesurfer.js 生成音频源(播放器)的可视化。每当用户单击播放器以浏览音频时,我想添加一个简短的交叉淡入淡出。

我查看了http://www.html5rocks.com/en/tutorials/webaudio/intro/ Searching for Web Audio crossfade only 似乎只产生结果,其中讨论了 2 个不同音频源之间的交叉淡入淡出,但我想要一个单一的交叉淡入淡出资源。

有没有首选的方法来做到这一点?我猜一种方法是在播放器元素上有一个点击事件,然后淡出+淡入?或者可能有 2 个音频源,其中 1 个没有声音?

4

1 回答 1

1

您可以使用增益节点,该节点逐渐变为 0 并返回到 1,这将平滑淡入淡出。然而,这会增加少量的延迟。

所以当用户点击播放器跳过时:

- 使用斜坡增益节点到零AudioParam.linearRampToValueAtTime()

- 跳到曲目的一部分

- 将增益节点斜坡上升到 1,也使用线性斜坡。

淡入淡出只需几毫秒即可消除弹出/点击

链接到网络音频AudioParam.linearRampToValueAtTime()

于 2016-06-10T11:31:28.817 回答