FlashPlayer10.3及后续版本已经支持AEC(Acoustic Echo Cancellation,声学回声消除),利用下面的代码可以开启这个功能:
myMic = Microphone.getEnhancedMicrophone(micIndex);
myMic.setUseEchoSuppression(true);
//使用编码
myMic.codec = SoundCodec.SPEEX;
myMic.encodeQuality = 6;
//myMic.setSilenceLevel(8);
myMic.setLoopBack(false);
//myMic.framesPerPacket=1
myMic.noiseSuppressionLevel=-30
var options:MicrophoneEnhancedOptions = new MicrophoneEnhancedOptions();
//模式,默认使用全双工模式
options.mode = MicrophoneEnhancedMode.FULL_DUPLEX;
//是否启用自动增益控制
options.autoGain = false;
//回声路径,值越大,回声抑制效果越好,但声音的延迟会越大,消耗的资源会越多,值取128或256
options.echoPath = 128;
//非线性处理,处理乐音时最好关闭
options.nonLinearProcessing = true;
myMic.enhancedOptions=options