Streaming 前两个音频块同时播放
我正在使用WebAudioAPI从服务器播放流。我是这样做的:Streaming 前两个音频块同时播放,streaming,web-audio-api,Streaming,Web Audio Api,我正在使用WebAudioAPI从服务器播放流。我是这样做的: var d2 = new DataView(evt.data); var data = new Float32Array(d2.byteLength / Float32Array.BYTES_PER_ELEMENT); for (var jj = 0; jj < data.length; ++jj) { data[jj] = d2.getFloat32(jj * Float32Arra
var d2 = new DataView(evt.data);
var data = new Float32Array(d2.byteLength / Float32Array.BYTES_PER_ELEMENT);
for (var jj = 0; jj < data.length; ++jj) {
data[jj] = d2.getFloat32(jj * Float32Array.BYTES_PER_ELEMENT, true);
}
var buffer = context.createBuffer(1, data.length, 44100);
buffer.getChannelData(0).set(data);
source = context.createBufferSource();
source.buffer = buffer;
source.start(startTime);
source.connect(context.destination);
startTime += buffer.duration;
var d2=新数据视图(evt.data);
var data=新的Float32Array(d2.byteLength/Float32Array.BYTES\u/元素);
对于(var jj=0;jj
startime用0初始化。
这很好,但对我来说,前几块是同时播放的。。。
这大约需要1秒钟,然后音频正常播放
有人知道为什么会这样吗?
谢谢,谢谢 不应使用0初始化startTime,应使用context.currentTime初始化它。实际上,可能是currentTime+slop的一些轻微延迟 上下文时钟在创建上下文后立即开始。我猜在创建上下文和播放第一个块的时间之间有一点差距,所以它试图在过去播放它,并且它只是尽快播放它。下一个或两个片段出现,同样的事情-在那之后,我希望它会稳定到一个可预测的模式,或者(更可能)你总是试图从过去的时间开始(),所以它会尽快播放,而你不会听到边界上的小故障