首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Android AcousticEchoCanceler不工作

Android AcousticEchoCanceler不工作
EN

Stack Overflow用户
提问于 2016-01-08 11:44:33
回答 1查看 2.1K关注 0票数 3

嗨,我正在尝试添加一个android应用程序的VOIP功能。为此,我需要声学回波消除。

我已经看到了AcousticEchoCanceler 这里的官方文档。

我正在使用这段代码来消除声回波:

代码语言:javascript
运行
复制
if(AcousticEchoCanceler.isAvailable()) {
            echoCanceler = AcousticEchoCanceler.create(mAudioRecord.getAudioSessionId());
            echoCanceler.setEnabled(true);
        }

但这似乎毫无帮助。isAvailable()返回true并创建echoCanceler对象。如果我查询echoCanceler.getEnabled(),它也会返回true。

即使我使用AudioRecord和AudioTrack制作了一个示例应用程序,这也是行不通的。我听到了很多回音。

如果我将AudioRecord的源设置为:

android.media.MediaRecorder.AudioSource.VOICE_COMMUNICATION

我看到在Nexus 5( Android版本5和6)的情况下,回声会被取消。

(当我将源代码设置为VOICE_COMMUNICATION时,我不使用VOICE_COMMUNICATION)然而,对于相同的安卓版本,同样的方法不适用于三星Galaxy S4和三星Note 4等设备。

使用回显取消库(如libspeexdsp等)是不可能的(因为我正在处理一个现有的项目)。

请尽快帮忙。

非常感谢。

EN

回答 1

Stack Overflow用户

发布于 2016-08-08 18:03:27

确保音频模式设置为MODE_IN_COMMUNICATION

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34676339

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档