Adobe Flash записывает сжатые образцы с микрофона
Я хочу захватить аудиофрагменты с микрофона в своем приложении Adobe AIR, а затем сохранить их в файл FLV. У меня есть следующий код:
mic.setSilenceLevel(0, DELAY_LENGTH);
mic.codec = SoundCodec.SPEEX;
mic.encodeQuality = 6;
mic.framesPerPacket = 1;
mic.gain = 100;
mic.addEventListener(SampleDataEvent.SAMPLE_DATA, micSampleDataHandler);
Проблема в том, что я подозреваю, что в моем обработчике я получаю только необработанные образцы, а не сжатые образцы. Причина моего подозрения в том, что число байтов, которые я получаю за сообщение, равно 20 мс (что я определяю как 1 speex frame) необработанного звука, а не сжатого звука. Кроме того, количество байтов не изменяется, если я изменяю кодировку. Чтение документации предполагает, что Adobe будет сжимать аудио только перед передачей на флеш-медиа-сервер или другой узел. Есть ли способ опубликовать и прочитать поток локально, чтобы получить сжатые образцы.? Или любой другой способ получить сжатые образцы?
1 ответ
Вы можете закодировать свою запись в формате mp3, используя http://code.google.com/p/flash-kikko/
Затем сохраните файл где-нибудь, чтобы вы могли включить его в FLV.