0

私は現在、マイクの入力を監視しているアプリケーションに取り組んでいますが、同時にラウドスピーカーを介して特定の MP3 曲を再生できる必要があります。私が現在直面している問題は、MP3 を再生するとすぐに、もちろんマイクがこれを認識し、音量が上がるため、より多くのデータが返されることです。

MP3 のエコーをキャンセルする必要があります。Android 独自の AcousticEchoCanceller を試しましたが、Nexus 7 でも Nexus 4 でも利用できないため、機能しませんでした。 NDK に精通しており、これを既存のコードに埋め込む方法がわかりません。

だから私はこれを見つけました:https ://github.com/mutantbob/ndk-speex Javaラッパークラスを使用したNDK-Speexですが、残念ながらクラスはSpeex形式のサウンドのエンコードとデコード専用のようで、キャンセルされないようですどんな反響も。エコー キャンセレーションを追加するために Java ラッパーを拡張することについて読んだことがありますが、適切な開始点が見つかりません。誰かが正しい方向に向けてくれますか? それとも、目的地まで別のルートをたどる必要がありますか?

4

1 に答える 1

0

NDK の使用方法については、多くの良い例があります。NDK に慣れたら、最高のオーディオ品質をアプリケーションに提供する任意のエコー キャンセル ソフトウェアを統合できます。

于 2013-05-29T07:17:49.577 に答える