Reproduzir som diretamente da matriz de bytes - Java

Eu estou tentando reproduzir um som que é armazenado como um byte-array usando o seguinte 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;
    }
}

É meio difícil explicar o que está errado. Estou recebendo um som, mas é apenas como um "swoosh" tipo de ruído.

Eu quero usar esse método com o buffer de bytes e assim por diante, porque todo o meu aplicativo é construído em torno dele. Usando Clip ou AudioInputStream não é realmente uma opção.

Então eu acho que minha pergunta é:

Como posso reproduzir som diretamente do meu byte-array usando um byte-buffer?

Obrigado pela ajuda!

questionAnswers(1)

yourAnswerToTheQuestion