我正在使用getUserMedia
和MediaStreamAudioSourceNode
在浏览器中捕获麦克风。一切都很好,只不过我需要准确的记录开始时间。
根据我的实验,看来不同的设备都有各自的延迟来开始录制,所以我一直在做的方式是先开始录制一秒钟,然后再设置一个布尔标志我想记录发生的那一刻开始保存数据。
我正在通过回调ScriptProcessorNode.onaudioprocess
获取数据。
回调大约每92毫秒发生一次,包含4096个新样本。显然这是缓冲的,所以我不知道何时捕获该音频。
有没有一种方法可以准确地确定何时执行音频?
关于如何获得此时间的其他建议?我希望有一种方法可以挂接第二个源,并将其与我可以在javascript中控制的记录混合在一起,但是我不知道这是怎么可能的。我还以为我可以创建一个自定义过滤器,但是存在一个不知道何时捕获样本的问题。