Фоновая музыка 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
не поддерживает большой аудиофайл Попробуйте поменьше.