2013-11-13 1 views
2

У меня проблема с входом USB-микрофона. При использовании моих ноутбуков внутреннего микрофона следующий записанный буфер воспроизводит только штраф:ActionScript 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-микрофона, все работает нормально.

+0

Это обычное дело, аудио задержки, которая варьируется в зависимости от системы, Вы, возможно, установками по умолчанию 48 КГц на USB-устройства и флэш пытается преобразовать его в 44,1 КГц или Audacity проходит какой-то драйвер ASIO для минимизации задержки. Вы можете прочитать статью Goo об аудио в реальном времени во Flash, может помочь: http://philippseifried.com/blog/2011/10/07/dynamic-audio-in-as3-part-1/ – gMirian

ответ

1

Я бы порекомендовал использовать метод Microphone.setSilenceLevel(). Это позволяет вам установить уровень активности микрофона, необходимый для вспышки, для чтения аудиовхода. Затем, когда вход не записывается, он не будет писать в тишине, когда информация не будет получена.

Для получения дополнительной информации: http://help.adobe.com/en_US/ActionScript/3.0_ProgrammingAS3/WS5b3ccc516d4fbf351e63e3d118a9b90204-7d0c.html

 Смежные вопросы

  • Нет связанных вопросов^_^