Odtwarzaj dźwięk bezpośrednio z tablicy bajtów - Java

Próbuję odtworzyć dźwięk, który jest przechowywany jako tablica bajtów przy użyciu następującej metody:

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;
    }
}

Trudno wyjaśnić, co się dzieje źle. Dostaję dźwięk, ale to tylko rodzaj szumu.

Chcę użyć tej metody z buforem bajtowym i tak dalej, ponieważ cała moja aplikacja jest wokół niego zbudowana. Używanie Clip lub AudioInputStream nie jest opcją.

Myślę więc, że moje pytanie brzmi:

Jak mogę odtwarzać dźwięk bezpośrednio z mojej tablicy bajtów przy użyciu bufora bajtowego?

Dziękuję za pomoc!

questionAnswers(1)

yourAnswerToTheQuestion