Фоновая музыка Java не зацикливается

Может кто-нибудь помочь мне с этой проблемой?

Я не могу заставить музыку зацикливаться, и это дает мне ошибку:
msgstr "java.io.IOException: не удалось создать объект AudioData".

Вы можете скачать полный проект здесь: https://dl.dropboxusercontent.com/u/61061871/BackgroundMusic.rar

Это всего 0,93 Мб.

Часть кода:

    AudioPlayer MGP = AudioPlayer.player;
    AudioStream BGM;
    AudioData MD;

    ContinuousAudioDataStream loop = null;

    try {
        InputStream test = new FileInputStream("C:/Users/user/Desktop/music1.wav");
        BGM = new AudioStream(test);
        AudioPlayer.player.start(BGM);

        MD = BGM.getData();
        loop = new ContinuousAudioDataStream(MD);

    } catch (FileNotFoundException e) {
        System.out.print(e.toString());
    } catch (IOException error) {
        System.out.print(error.toString());
    }

    MGP.start(loop);

1 ответ

Я получил следующую трассировку стека:

java.io.IOException: could not create AudioData object
    at sun.audio.AudioStream.getData(Unknown Source)
    at BackgroundMusic.music1(BackgroundMusic.java:32)
    at BackgroundMusic.main(BackgroundMusic.java:15)

Это декомпилированный код getData()

public AudioData getData() throws IOException{
    int i = getLength();
    if (i < 1048576) {
        byte[] arrayOfByte = new byte[i];
        try {
            this.ais.read(arrayOfByte, 0, i);
        } catch (IOException localIOException) {
            throw new IOException("Could not create AudioData Object");
        }
        return new AudioData(this.format, arrayOfByte);
    }
    throw new IOException("could not create AudioData object");
}

Похоже на то AudioStream не поддерживает большой аудиофайл Попробуйте поменьше.

Другие вопросы по тегам