0

我目前正在开发一个应用程序,它正在观察麦克风的输入,但同时必须能够通过扬声器播放特定的 MP3 歌曲。我目前面临的问题是,当我播放 MP3 时,麦克风当然会识别到这一点,并且由于音量增加,会返回更多数据。

我需要取消 MP3 的回声,我尝试过 Android 自己的 AcousticEchoCanceller,但它不起作用,因为它甚至在我的 Nexus 7 和我的 Nexus 4 上都不可用。现在我来 speex,但我不是真的熟悉 NDK,但我不知道如何将其嵌入到我现有的代码中。

所以我发现了这个:https ://github.com/mutantbob/ndk-speex NDK-Speex with Java wrapper classes,但不幸的是这些类似乎只用于 Speex 格式的编码和解码声音,这似乎不会取消任何回声。我已经阅读了有关扩展 Java 包装器以添加回声消除的信息,但我找不到正确的起点,有人能指出我正确的方向吗?还是我应该采取不同的途径实现我的目标?

4

1 回答 1

0

关于如何使用 NDK 有很多很好的例子。一旦您熟悉了 NDK,您就可以集成任何能够为您的应用程序提供最佳音频质量的回声消除软件。

于 2013-05-29T07:17:49.577 回答