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