解码音频和播放介绍然后循环部分

时间:2016-09-05 15:18:17

标签: javascript web-audio

我有一首歌,包括介绍(I),要循环的部分(L)和结尾(E)。我根本不想播放结尾,即音频文件歌曲= I + L + E,播放的音频= I + L + L + ......

我成功地将介绍和循环分成两个文件,但我想在客户端“即时”执行此操作。

我该怎么做?

2 个答案:

答案 0 :(得分:1)

Web Audio API正是为此提供了AudioBufferSourceNode.loopStartAudioBufferSourceNode.loopEndsource)。您还必须记住设置AudioBufferSourceNode.loop = true

答案 1 :(得分:0)

如果您想使用Web Audio播放文件(例如使用decodeAudioData()解码为AudioBuffer然后使用BufferSourceNodes播放声音),那么通过将两个BufferSource节点指向缓冲区可以轻松实现不同的偏移,并循环第二个。

Web Audio使用双打(不是浮点数) - 因此语句"这比浮点秒更准确"一般都不是真的(双精度有15位小数的精度)。 (当然,取决于绝对值。)它足以准确地使用样本精度(即不在值之间出现故障);但是,如果你担心的话,只是在他们之间交叉淡出。

如果您的目标只是制作一个环绕该部分的音频文件,那就有点不同了;但听起来你想要播放。