我有一些来自麦克风的声音。我需要为它添加声音滤波器并将其播放到与麦克风对话的人身上。
怎么做这样的事情?
答案 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);
}
}