有關html5 webaudio的問題:是否可以合併多首歌曲?合併多個音頻緩衝區來源
我有不同的音軌,使用webaudio同時播放,但我需要處理音頻,所以我需要一個緩衝區內的所有音頻,而不是每個音軌都有自己的緩衝區。
我已經嘗試通過增加他們的渠道數據合併他們,但我總是得到「未捕獲的RangeError:指數超出範圍」
function mergeBuffers(recBuffers, recLength){
var result = new Float32Array(recLength*2);
var offset = 0;
for (var i = 0; i < recBuffers.length; i++){
result.set(recBuffers[0], offset);
offset += recBuffers[0].length;
}
return result;
}
var recBuffersL = [];
for (var i=0;i<audioTracks.length; i++)
{
recBuffersL[i] = audioTracks[i].currentBuffer.getChannelData(0);
}
var recBuffersR = [];
for (var i=0;i<audioTracks.length; i++)
{
recBuffersR[i] = audioTracks[i].currentBuffer.getChannelData(1);
}
var buffers = [];
buffers.push(mergeBuffers(recBuffersL, recBuffersL.length));
buffers.push(mergeBuffers(recBuffersR, recBuffersR.length));
您使用的是Web Audio API嗎?您可以根據需要將任意數量的源連接到AudioContext.destination, – MikeHelland
是的;但我正在處理,所以在發送音頻到audiocontext我想操縱它 – Thomas