我正在开发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;
}
}
}
如果没有从其他设备发送语音,我如何消除背景噪音。