AVAudioSessionModeMeasurement的应用和影响

audiounit在做对讲机的时候有一个问题,VoIP模式音量小,但是可以自动的回声消除;

remoteIO模式的音量大,但是需要额外的回声消除算法;

audiosession +remoteIo(audiounit)+default speaker +playandrecord 模式进行对讲的时候,内部添加回声消除算法,采集的原始pcm音频是经过系统增益和高通滤波的,播放端不受影响,声音正常;【但是由于回声消除会受滤波的影响。】所以会导致消除回声消除的不是太干净(大部分的回声被消除,但仍存留一些未被消除的回声,或者一些小的噪声);循环往复,全双工的时候就会产生高频噪声;此时AVAudioSessionModeMeasurement的这个mode确实可以屏蔽采集声音时候做的增益和滤波,但是这个模式由于其本身的作用就是最小化系统对i/o信号的影响,会导致播放的声音非常小;像是受到很大的抑制;这里也查了一些资料;

https://stackoverflow.com/search?q=AVAudioSessionModeMeasurement

https://stackoverflow.com/questions/22676367/audio-session-using-measurement-mode-causes-low-volume-no-sound-in-ios-7-1

有一些文字说,这个设计的就如此;所以有些遗憾,目前也没有什么好的办法;各位看官是否有好办法呢

猜你喜欢

转载自www.cnblogs.com/8335IT/p/10479851.html