Reproducir sonido directamente desde la matriz de bytes - Java
Estoy tratando de reproducir un sonido que se almacena como una matriz de bytes mediante el siguiente método:
byte[] clickSamples = getAudioFileData("sound.wav");
ByteBuffer buffer = ByteBuffer.allocate(bufferSize*2);
int tick = 0;
for (int i = 0; i < clickSamples.length; i++) {
buffer.putShort((short) clickSamples[i]);
tick++;
if (tick >= bufferSize/SAMPLE_SIZE) {
line.write(buffer.array(), 0, buffer.position());
buffer.clear();
tick = 0;
}
}
Es un poco difícil de explicar qué está mal. Recibo un sonido, pero solo es como un "ruido".
Quiero usar este método con el byte-buffer y así sucesivamente porque toda la aplicación se basa en él. Usar Clip o AudioInputStream no es realmente una opción.
Así que supongo que mi pregunta es:
¿Cómo puedo reproducir el sonido directamente desde mi matriz de bytes utilizando un búfer de bytes?
¡Gracias por tu ayuda!