在我的代码中,我将AudioContext.currentTime设置为跳转到播放曲目中的其他位置。这不起作用。这是旧的代码,所以我不确定webaudio规范是否已经改变,或者我只是创建了错误的代码。我一直在寻找解决方案,以解决这个问题应该如何运作多年。我见过的唯一解决方案似乎涉及停止旧声音并创建新的缓冲源。
是否无法指定比赛场地内的位置?
编辑:我知道AudioContext.currentTime现在被指定为readonly
答案 0 :(得分:5)
我这样做:
function playAudio(buffer, offsetInSeconds, duration) {
console.log('start playing audio');
var audioTrack = context.createBufferSource();
audioTrack.connect(context.destination);
audioTrack.buffer = buffer;
audioTrack.start(context.currentTime, offsetInSeconds, duration);
}
是的,你必须每次都创建新的bufferSource。