Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache flex 如何过滤闪光灯中麦克风发出的声音(10.1)?_Apache Flex_Flash_Actionscript 3_Audio_Mxml - Fatal编程技术网

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中使用

它允许您在闪存中从麦克风访问原始数据

现在应用过滤器检查: