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 に答える