0
我正在開發VOIP
種應用程序。發送聲音是完美的,但是當我從Web服務器收到相同的聲音時,我使用AudioTrack
API播放該聲音。如何去除音軌中的背景噪音?
我打電話給at.play()
和at.write
在一個線程中,這樣我就可以獲得從其他設備錄製和發送的所有語音。
但是,現在我面臨的問題是,如果沒有比它仍然像一些子彈聲音播放的聲音,我的意思是當我嘗試播放時有連續背景聲音。
我M在一個線程使用這個下面的函數:
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;
}
}
}
我怎樣才能去除背景噪聲,如果有任何的聲音是從其他設備發送。
你應該做一些信號處理。它通常使用Android NDK完成:http://developer.android.com/tools/sdk/ndk/index.html – sinisha
@sinisha,我不想使用任何NDK ...我只是想使用現有的API來工作 –
@sinisha,在我的另一個應用程序,沒有背景噪音,即時通訊使用相同的AUdiotrack也... –