Apache flex 如何过滤闪光灯中麦克风发出的声音(10.1)?
我听到麦克风传来一些声音。我需要给它加上声音过滤器,然后把它播放给对着麦克风说话的人听Apache flex 如何过滤闪光灯中麦克风发出的声音(10.1)?,apache-flex,flash,actionscript-3,audio,mxml,Apache Flex,Flash,Actionscript 3,Audio,Mxml,我听到麦克风传来一些声音。我需要给它加上声音过滤器,然后把它播放给对着麦克风说话的人听 如何做这件事?据我所知,这可以用空气来做: 下面是执行您要求的操作的示例代码: import flash.media.Sound; import flash.utils.ByteArray; protected var soundRecording:ByteArray; protected var soundOutput:Sound; protected function playbackData():vo
如何做这件事?据我所知,这可以用空气来做: 下面是执行您要求的操作的示例代码:
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);
}
}
导入flash.media.Sound;
导入flash.utils.ByteArray;
保护var录音:ByteArray;
保护var声音输出:声音;
受保护的函数playbackData():void
{
soundRecording.position=0;
soundOutput=新声音();
soundOutput.addEventListener(SampleDataEvent.SAMPLE_数据,播放声音);
soundOutput.play();
}
专用函数播放声音(声音输出:SampleDataEvent):无效
{
如果(!soundRecording.bytesAvailable>0)
返回;
对于(变量i:int=0;i<8192;i++)
{
var样本:数量=0;
//在此处应用过滤器
如果(soundRecording.bytesAvailable>0)
sample=soundRecording.readFloat();
soundOutput.data.writeFloat(示例);
soundOutput.data.writeFloat(示例);
}
}
看看这个air应用程序。它可以转换为在Adobe Flash Player 10.1中使用
它允许您在闪存中从麦克风访问原始数据
现在应用过滤器检查: