赞
踩
在app开发录音功能的时候 会遇到回音的问题,今天就来借助android 自带的api 来解决回音的问题
1.通过设置AudioManager.MODE_IN_COMMUNICATION模式进行录音,自动实现回声消除;
音频采样率必须设置8000或者16000,通道数必须设为1个。
AudioManager可以通过setMode()来设置声音的模式。而通过设置声音模式为MODE_IN_COMMUNICATION,
和一些声音参数的设置可以启动Android自身的硬件回声消除来实现回音消除。
设置声音模式的时候需要权限“android.permission.MODIFY_AUDIO_SETTINGS”。不同的声音模式声音的输出方式不一样。
当设置为MODE_IN_COMMUNICATION模式时,声音默认是听筒出声,这时候如果是在连麦模式而且主播没有戴耳机的情况下显然这样不符合,
这时候需要调用audioManager.setSpeakerphoneOn(true)切换成外放出声。
当插上耳机后,声音不需要外放,需要从耳机出声,这样可以设置audioManager.setSpeakerphoneOn(false)。
源码为:
AudioManager audioManager = (AudioManager)mContext.getSystemService(Context.AUDIO_SERVICE)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。