Android Audio回声消除学习笔记
来源:互联网 发布:剑三萝莉脸型数据网盘 编辑:程序博客网 时间:2024/04/30 17:58
回声消除AcousticEchoCanceler 继承自AudioEffect
声学回声消除器(AEC)AcousticEchoCanceler类消除了从远程捕捉到音频信号上的信号的作用
自动增益控制(AGC)AutomaticGainControl类自动恢复正常捕获的信号输出
噪声抑制器(NC)NoiseSuppressor类可以消除被捕获信号的背景噪音
注意:并不能保证所有的设备都能支持这些效果的,所以你应该首先调用在对应音频效果类上的isAvailable()的方法来检测它的可用性。
AcousticEchoCanceler使用方法
1. 首先判断下设备是否支持回声消除
public static boolean isDeviceSupport(){ return AcousticEchoCanceler.isAvailable();}
2. 初始化并使能AEC
private AcousticEchoCanceler cancelerpublic boolean initAEC( int audioSession){ if(canceler != null) { return false; } canceler = AcousticEchoCanceler.create(audioSession); canceler.setEnabled(true); return canceler.getEnabled();}ps: audioSession的获取 AudioSystem audioSystem = AudioSystem.getAudioSystem( AudioSystem.LOCATOR_PROTOCOL_AUDIORECORD); audioSession = audioSystem.getAudioSessionId();
3. 使能/去使能AEC
public boolean setAECEnabled( boolean enable){ if( null == canceler){ return false; } canceler.setEnabled(enable); return canceler.getEnabled();}
4.释放AEC
public boolean release(){ if( null == canceler){ return false; } canceler.setEnabled(false); canceler.release(); return true;}
配置文件记得添加权限
<uses-permission android:name="android.permission.RECORD_AUDIO" />
android新版本增加的API AcousticEchoCanceler 可以非常快速的开发出符合VOIP性质的回声消除程序。但是考虑到各种机型适配,仍然需要第三方的回声消除程序。
这里主要推荐两个:webrtc里面的AEC/AECM,speex。
0 0
- Android Audio回声消除学习笔记
- Android Audio回声消除学习笔记
- Android移植Speex回声消除
- 回声消除
- 回声消除
- android 视频通话带回声消除一
- android 系统自带 回声消除
- 基于WebRTC的Android数字楼宇对讲系统回声消除
- 基于WebRTC的Android数字楼宇对讲系统回声消除
- android、ios、windows等平台回声消除的解决方案
- 回声消除技术
- 回声消除原理
- 浅谈回声消除技术
- 浅谈回声消除技术
- Speex 回声消除
- linphone 回声消除
- linphone 实现回声消除
- Speex 之回声消除
- 以太网技术原理
- Python实现对一个元组分别进行按姓名排序与按分数排序
- 译见|深度剖析「微服务架构」的九大特征
- HDU2184 汉诺塔8
- leetcode.211. Add and Search Word - Data structure design字典树
- Android Audio回声消除学习笔记
- 流式统计的几个难点
- 亿级用户下的新浪微博平台架构
- IOS跳转到应用下面的的设置
- jquery获取和改变值
- 129. Sum Root to Leaf Numbers
- 阿里云部署 Flask + WSGI + Nginx 详解
- python读取文件名后重命名原文件
- 在项目中使用Cocoa Pod实现依赖管理