В NetBeans(JAVA) звуковой файл внезапно перестает воспроизводиться при запуске / тестировании программы
Прежде всего, это странная проблема, которую я пытаюсь решить, так как я получил netbeans и начал программировать. В основном: я сделал простую программу с музыкой, которая должна воспроизводиться во время работы программы, но когда музыка только начинает играть, она будет длиться всего несколько секунд, потому что она внезапно прекращает играть без видимой причины. Я просто открываю программу и нажимаю кнопку, которая запускает музыку, а затем она внезапно останавливается на 3 или 4 секунды (это случайно, иногда это будет длиться дольше).
Самое интересное: на моем ноутбуке, если я пытаюсь протестировать программу, пока в NetBeans еще нет, проблема всегда возникает, НО, если я собираю программу, проблема исчезнет.
С другой стороны, если я тестирую или собираю ту же программу на моем компьютере (high-end), эта проблема будет возникать при тестировании на сетевых компонентах и после сборки, поэтому невозможно избавиться от нее на компьютере, только на моем ноутбуке. после сборки (если я просто протестирую его на сетевых компонентах без сборки, проблема будет возникать). Это происходит с каждым звуковым файлом или музыкой, которые я пробую, также все они имеют формат wav. Я не уверен, но я установил пакет мега-кодеков K-lite на обеих системах, но не знаю, вызвал ли он это. Вот часть моей программы, где запускается звуковой файл (и мой импорт):
//importations below
import java.applet.*;
import java.net.*;
import java.io.File;
import javax.swing.JOptionPane;
//my program sound stuff below
File file = new File("C:\\Users\\MY-PC\\Desktop\\Projetos\\src\\javaapplication9\\cave of the past.wav");
AudioClip clip=null;
try{
clip = Applet.newAudioClip(file.toURI().toURL());
}
catch(MalformedURLException lol){
System.err.println("LOOOOOOOOOOOOOOL");
}
clip.loop();
1 ответ
Неважно, я нашел способ, который работает так, как я хочу:
AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(new File("C:/Folder/musicfile.wav").getAbsoluteFile());
Clip clip = AudioSystem.getClip();
clip.open(audioInputStream);
clip.start();