几乎每100毫秒调用一个名为jsReceiveRawAudioDataFromFlash(rawData)
的JavaScript函数,具体取决于Flash中麦克风收集音频数据的速度。
function jsReceiveRawAudioDataFromFlash(rawData) {
document.write("Beginning of this JS function");
// Computation expensive work
// I CANNOT put this work in Flash, must be in JavaScript
// Send it to the network (server)
document.write("Beginning of this JS function");
}
每次Flash麦克风收集音频数据片段时,都会调用此JavaScript函数。
这个JS函数接收rawData
,并做一些非常耗费计算的工作,然后发送到网络(服务器)。
我发现,之前的呼叫尚未完成,另一个呼叫已启动,然后前一个呼叫的未执行部分被删除。 编辑 - (我在此功能中遇到了内存问题,修好后,它没有掉线)
所以我需要安排通话。我怎么能这样做?
感谢。
彼得
答案 0 :(得分:1)
在JavaScript中添加一个数组,并使用布尔值表示该函数正在运行/运行。
调用该函数时,检查该函数是否已在运行,如果是,则将要执行的数据堆叠到数组中。
当该功能完成时,检查阵列是否有任何其他要操作的项目。如果有,则对它们进行操作,如果没有,则将布尔值设置为false并等待。
类似于这个?