0
나는 VOIP
종류의 응용 프로그램을 개발 중입니다. 음성을 보내는 것은 완벽하지만 웹 서버에서 동일한 음성을 수신하면 AudioTrack
API를 사용하여 재생하고 있습니다.오디오 트랙에서 배경 잡음을 제거하는 방법?
나는 스레드에서 at.play()
및 at.write
을 호출하므로 다른 장치에서 녹음되고 전송되는 모든 음성을 받아야합니다.
그러나 이제는 내가 직면 한 문제는 일부 탄환 사운드처럼 계속 연주하는 것보다 목소리가 없으면 내가 연주하려고 할 때 연속 배경 음악이 있다는 뜻입니다.
나는 스레드에서이 다음과 같은 기능을 사용하고 있습니다 :
if (at != null) {
if (at.getPlayState() != AudioTrack.PLAYSTATE_PLAYING) {
at.play();
} else {
if (playing == true) {
System.out.println("BEFORE WRITE");
at.write(playShortData, 0,
playShortData.length);
System.out.println("AFTER WRITE");
at.flush();
playing = false;
}
}
}
을 목소리가 다른 장치에서 보낸이없는 경우 i는 배경 잡음을 제거하는 방법.
신호 처리를해야합니다. 그것은 일반적으로 안드로이드 NDK를 사용하여 이루어집니다 : http://developer.android.com/tools/sdk/ndk/index.html – sinisha
@sinisha, NDK를 사용하고 싶지 않습니다 ... 단지 기존 API를 사용하여 작업하고 싶었습니다 –
@sinisha, 내 다른 응용 프로그램에서 아무 배경 잡음도 메신저 거기에 같은 AUdiotrack을 사용하여 ... –