Я успешно воспроизвожу звуки в апплетной игре Java (1.5), используя следующий код:
// get an available clip to play it
Clip clip = null;
for (Clip clipTemp : players) {
if (!clipTemp.isOpen()) {
clip = clipTemp;
break;
}
}
if (clip == null) {
// no available player found, don't play
return;
}
clip.open(audioFormat, audioByteData, 0, audioByteData.length);
clip.start();
(Игроки — это список клипов, которые я открываю в начале с целью уменьшить задержку, слушатель линии закрывает линию, когда извлекается событие остановки.)
Проблема, с которой я сталкиваюсь, - это периодические задержки до 1 секунды при воспроизведении звука. Это довольно плохо.
Есть ли способ улучшить это? Стоит ли рассматривать SourceDataLines?