Я пытаюсь воспроизвести поток PCM, используя класс AudioTrack.Это код:
AudioTrack audioTrack = new AudioTrack(AudioManager.STREAM_MUSIC, 44100, AudioFormat.CHANNEL_OUT_MONO, AudioFormat.ENCODING_PCM_16BIT, 20000, AudioTrack.MODE_STREAM);
audioTrack.play();
// Reading data.
byte[] data = new byte[200];
int n = 0;
try {
while ((n = s.getInputStream().read(data)) != -1)
audioTrack.write(data, 0, n);
}
catch (IOException e) {
return;
}
К сожалению, звук, который я получаю, постоянно прерывается.Я попытался записать данные в файл вместо записи в audioTrack и воспроизведения с помощью aplay.Кажется, это идеально.Нет перерыва.Что-то не так в коде, который я сообщил при использовании audioTrack?Или просто данные не приходят вовремя?Спасибо!