Как отфильтровать звук, исходящий от микрофона во вспышке (10.1)? - PullRequest
0 голосов
/ 01 марта 2010

Я слышу звук из микрофона. мне нужно добавить к нему звуковой фильтр и сыграть его с тем парнем, который говорит в этот микрофон.

Как это сделать?

Ответы [ 2 ]

1 голос
/ 03 августа 2010

Взгляните на это эфирное приложение. Его можно конвертировать для использования в Adobe Flash Player 10.1.

http://download.macromedia.com/pub/developer/air/sample_apps/microphone.zip

Позволяет получить доступ к необработанным данным с микрофона во Flash

Теперь для применения проверки фильтра: http://code.google.com/p/standingwave/

0 голосов
/ 01 марта 2010

Насколько я знаю, это можно сделать с помощью воздуха: http://www.adobe.com/devnet/air/flex/articles/using_mic_api.html

Вот пример кода, который делает то, что вы просите:

import flash.media.Sound;
import flash.utils.ByteArray;
protected var soundRecording:ByteArray;
protected var soundOutput:Sound;
protected function playbackData():void
{
    soundRecording.position = 0;

    soundOutput = new Sound();
    soundOutput.addEventListener(SampleDataEvent.SAMPLE_DATA, playSound);

    soundOutput.play();
}

private function playSound(soundOutput:SampleDataEvent):void
{
    if (!soundRecording.bytesAvailable > 0)
        return;
    for (var i:int = 0; i < 8192; i++)
    {
        var sample:Number = 0;

        // apply your filter here
        if (soundRecording.bytesAvailable > 0)
            sample = soundRecording.readFloat();
    soundOutput.data.writeFloat(sample); 
    soundOutput.data.writeFloat(sample);  
     }                
}
...