scal wiele źródeł bufora audio

Pytanie o html5 webaudio: czy można połączyć wiele utworów razem?

Mam różne utwory, które są odtwarzane w tym samym czasie przy użyciu webaudio, ale muszę przetworzyć dźwięk, więc potrzebuję całego audio w jednym buforze zamiast każdego z utworów posiadających własny bufor.

Próbowałem połączyć je, dodając ich dane kanału, ale zawsze otrzymuję „Uncaught RangeError: Index jest poza zakresem”.

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) );

questionAnswers(3)

yourAnswerToTheQuestion