赞
踩
使用 android 自带回声消除
Android 在4.1 API leve 16 添加了回声消除处理 AcousticEchoCanceler
不过由于手机厂商太多,碎片化严重,实现效果也不一样,这里只做测试性使用
记录一下步骤:
检测系统是否支持回声消除
创建录制,并拿到sessionid
创建回声消除 关联录制的sessionid
创建播放,关联录制的sessionid
这三者由录制的sessionid 关联起来了,就能够实处理掉mic采集到的由喇叭播放出的声音了。
看代码:
public static boolean chkNewDev()
{
return android.os.Build.VERSION.SDK_INT >= 16;
}
public static boolean isDeviceSupport()
{
return AcousticEchoCanceler.isAvailable();
}
检测是否支持,居然存在不准确的情况?
int InitAudioRecord()
{
m_bufferSizeInBytes = AudioRecord.getMinBufferSize(m_sampleRateInHz, m_channelConfig, m_audioFormat);
if (chkNewDev())
{
m_audioRecord = new AudioRecord(MediaRecorder.Audio
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。