0

我正在开发一个应用程序,它记录麦克风的输入,同时必须能够通过扬声器播放 MP3 文件。

我需要取消 MP3 文件的回声。我尝试过使用 AcousticEchoCanceler,但它没有用。

现在我已经在我的项目中集成了 speex 库。EchoCanceller 函数界面如下所示:

public native static short[] process(short[] inputFrame, short[] echoFrame);

问题是我不知道如何获取“echoFrame”(当前播放 MP3 文件的数据)。我正在使用 MediaPlayer 播放它。

是否可以从 MP3 文件中取消回声?或者我必须将 MP3 转换为 PCM 并通过 SoundTrack 播放?谢谢阅读。

4

1 回答 1

1

据我所知,您应该使用 PCM。AEC 不适用于压缩音频格式。

于 2015-01-17T16:40:20.773 回答