【发布时间】:2013-05-28 10:25:58
【问题描述】:
我目前正在开发一个应用程序,它正在观察麦克风的输入,但同时必须能够通过扬声器播放特定的 MP3 歌曲。我目前面临的问题是,当我播放 MP3 时,麦克风当然会识别到这一点,并且由于音量增加,会返回更多数据。
我需要取消 MP3 的回声,我已经尝试过 Android 自己的 AcousticEchoCanceller,但它不起作用,因为它甚至在我的 Nexus 7 和我的 Nexus 4 上都不可用。现在我来 speex,但我我对 NDK 不是很熟悉,也不知道如何将它嵌入到我现有的代码中。
所以我发现了这个:https://github.com/mutantbob/ndk-speex带有 Java 包装类的 NDK-Speex,但不幸的是,这些类似乎只用于 Speex 格式的编码和解码声音,这似乎不会消除任何回声。我已经阅读了有关扩展 Java 包装器以添加回声消除的信息,但我找不到正确的起点,有人能指出我正确的方向吗?或者我应该采取不同的途径来实现我的目标?
【问题讨论】:
标签: android speex aec echo-cancellation