Javascript HTML5音频/Mozilla音频数据API中的多个帧缓冲区

Javascript HTML5音频/Mozilla音频数据API中的多个帧缓冲区,javascript,html,firefox,html5-audio,Javascript,Html,Firefox,Html5 Audio,提供了有关如何使用平移音频数据的一些很好的见解。但是,我想知道如果我有多个音频元素,并且每个元素都需要一个帧缓冲区,该怎么办?下面的代码将所有音频元素的最终混合存储在全局变量“data”中 var data; // global for (ch=0; ch<channel_max; ch++) { a1[ch].addEventListener('MozAudioAvailable', audioAvailable, false); } function audioAvaila

提供了有关如何使用平移音频数据的一些很好的见解。但是,我想知道如果我有多个音频元素,并且每个元素都需要一个帧缓冲区,该怎么办?下面的代码将所有音频元素的最终混合存储在全局变量“data”中

var data; // global

for (ch=0; ch<channel_max; ch++)
{
    a1[ch].addEventListener('MozAudioAvailable', audioAvailable, false);
}

function audioAvailable(event) {
    // how to pass 'ch' such that 'data' is specific to its eventlistener?
    data = event.frameBuffer;
}
var数据;//全球的

对于(ch=0;我不清楚这里的
a1
是什么。它是对音频元素的引用,还是一个Float32样本数组?在任何情况下,都表示
frameBuffer
包含所有交错通道的数据。如果您知道有多少通道,可以使用该信息对
frameBuffer中的样本进行排序
进入不同的数组。@JohnVinyard a1是对音频元素的引用。多声道指的是多个音频元素。很抱歉,没有说得更清楚。所有音频元素都是立体声的,但有几个音频元素。你能为每个音频元素读一个单独的帧缓冲区吗?谢谢,为了更清楚,我将编辑这个问题。