私はVOIP
一種のアプリケーションを開発しています。AudioTrack
音声の送信は完璧ですが、Webサーバーから同じ音声を受信すると、 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;
}
}
}
他のデバイスから音声が送信されない場合、バックグラウンド ノイズを除去するにはどうすればよいですか。