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.

Другие вопросы по тегам