如何过滤闪光灯(10.1)中麦克风发出的声音?

时间:2010-03-01 08:23:44

标签: flex flash actionscript-3 audio mxml

我有一些来自麦克风的声音。我需要为它添加声音滤波器并将其播放到与麦克风对话的人身上。

怎么做这样的事情?

2 个答案:

答案 0 :(得分:1)

看看这个空中应用程序。这可以转换为在Adobe Flash Player 10.1中使用。

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

它允许您从Flash中的麦克风访问原始数据

现在应用过滤器检查: http://code.google.com/p/standingwave/

答案 1 :(得分:0)

据我所知,这可以用空气来完成: 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);  
     }                
}