我的USB麦克风输入有问题。使用笔记本电脑的内置麦克风时,以下录制的缓冲区可以正常播放:

microphone = Microphone.getMicrophone();
microphone.codec = SoundCodec.SPEEX;
microphone.setLoopBack(false);
microphone.rate = 16;
microphone.addEventListener(SampleDataEvent.SAMPLE_DATA, processMicData);

private function gotMicData(micData:SampleDataEvent):void {
   micBuffer.writeBytes(micData.data);
}

但是,当我选择USB麦克风时,声音会发硬,就像在缓冲区之间增加静音一样。顺便说一句,如果我使用Audacity之类的程序来录制USB麦克风,则一切正常。

最佳答案

我建议尝试使用Microphone.setSilenceLevel()方法。它使您可以设置闪光灯读取音频输入所必需的麦克风 Activity 级别。然后,当未记录任何输入时,如果未接收到任何信息,它将不会无声地写入。

有关更多信息:
http://help.adobe.com/en_US/ActionScript/3.0_ProgrammingAS3/WS5b3ccc516d4fbf351e63e3d118a9b90204-7d0c.html

08-19 11:38