我有一首歌,包括介绍(I),要循环的部分(L)和结尾(E)。我根本不想播放结尾,即音频文件歌曲= I + L + E,播放的音频= I + L + L + ......
我成功地将介绍和循环分成两个文件,但我想在客户端“即时”执行此操作。
我该怎么做?
答案 0 :(得分:1)
Web Audio API正是为此提供了AudioBufferSourceNode.loopStart
和AudioBufferSourceNode.loopEnd
(source)。您还必须记住设置AudioBufferSourceNode.loop = true
。
答案 1 :(得分:0)
如果您想使用Web Audio播放文件(例如使用decodeAudioData()解码为AudioBuffer然后使用BufferSourceNodes播放声音),那么通过将两个BufferSource节点指向缓冲区可以轻松实现不同的偏移,并循环第二个。
Web Audio使用双打(不是浮点数) - 因此语句"这比浮点秒更准确"一般都不是真的(双精度有15位小数的精度)。 (当然,取决于绝对值。)它足以准确地使用样本精度(即不在值之间出现故障);但是,如果你担心的话,只是在他们之间交叉淡出。
如果您的目标只是制作一个环绕该部分的音频文件,那就有点不同了;但听起来你想要播放。