我正在处理录制麦克风输入的应用程序,同时必须能够通过扬声器播放MP3文件。
我需要取消MP3文件的回声。我曾尝试使用AcousticEchoCanceler,但它没有用。
现在我已经在我的项目中集成了speex库。 EchoCanceller功能界面如下所示:
public native static short[] process(short[] inputFrame, short[] echoFrame);
问题是我不知道如何获得" echoFrame" (当前播放MP3文件的数据)。我正在使用MediaPlayer播放它。
是否可以取消MP3文件的回音?或者我必须将MP3转换为PCM并通过SoundTrack播放?谢谢你的阅读。
答案 0 :(得分:1)
据我所知,你应该使用PCM。 AEC不适用于压缩音频格式。