2013-05-28 2 views
0

현재 마이크의 입력을 관찰하는 응용 프로그램에서 작업 중이지만 동시에 라우드 스피커를 통해 특정 MP3 노래를 재생할 수 있어야합니다. 현재 내가 직면하고있는 문제는 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 래퍼를 확장하는 방법에 대해 읽었습니다. 그러나 올바른 시작 지점을 찾을 수 없으며, 누군가 올바른 방향으로 나를 가리킬 수 있습니까? 아니면 내 목표와 다른 경로를 택해야합니까?

답변

0

NDK를 사용하는 좋은 예가 많이 있습니다. NDK에 익숙해지면 애플리케이션에 최상의 오디오 품질을 제공하는 모든 에코 제거 소프트웨어를 통합 할 수 있습니다.