Нарисуйте форму волны для микрофона в flex, это возможно? - PullRequest
1 голос
/ 08 октября 2010

Я делаю аудиозапись с помощью Adobe Flex (Microphone, NetStream), я хочу получить текущую звуковую волну от микрофона для отображения в области визуализации, есть идеи, как я могу получить данные?

1 Ответ

1 голос
/ 16 мая 2011

Вам нужно будет использовать Flash Player 10, так как я думаю, что вы впервые получили доступ к микрофону apis.

Затем вы можете вызвать простую функцию, которая будет получать данные микрофона:

private var soundBytes:ByteArray    = new ByteArray;
SoundMixer.computeSpectrum(soundBytes, false);

Я обычно вызываю код computeSpectrum в обработчике ввода кадра и вытягиваю форму волны оттуда.

Редактировать: я не хочу вводить вас в заблуждение. Я думаю, что приведенный выше код предназначен для предварительно записанного аудиофайла. Если вы хотите использовать микрофон во флэш-памяти 10. Вы делаете это так:

private var _mic:Microphone;
_mid = Microphone.getMicrophone();
_mic.addEventListener( SampleDataEvent.SAMPLE_DATA, onSampleData );

protected function onSampleData( event:SampleDataEvent ):void {
    while( event.data.bytesAvailable ){
        var n:Number = event.data.readFloat();
    }
}
...