Hallo Community,
ich experimentiere gerade zum ersten Mal ein wenig mit JavaFX herum und habe jetzt ein kleines Programm geschrieben, welches beim Klick auf einen Button eine .wav Datei abspielen soll. In NetBeans funktioniert das Ganze auch problemlos, nur hätte ich das Programm gerne in einer Form, die zum Starten nicht die IDE benötigt. Wenn ich aber das mit "clean and build" erstellte .jar File direkt öffne, bekomme ich zwar mein Programmfenster, beim Drücken des Buttons jedoch keinen Sound.
Habe durch Google schon herausgefunden, dass es wohl daran liegt, dass die .jar Datei die .wav Datei nicht findet, da ich es irgendwie als Resource einbinden muss. Leider habe ich noch keine Lösung gefunden, wie das funktioniert. Könnt ihr mir da vielleicht weiterhelfen? Gerne auch ein weiterführender Link zum Thema, ich würde es gerne besser verstehen, was da eigentlich passiert.
Hier zur Sicherheit mal der Code aus meiner FXMLDocumentController Datei, das Abspielen der Datei hatte ich zudem auch mit Hilfe von Media und MediaPlayer programmiert, der Fehler war aber der Gleiche.
Vielen Dank für eure Antworten!
LG Basti
ich experimentiere gerade zum ersten Mal ein wenig mit JavaFX herum und habe jetzt ein kleines Programm geschrieben, welches beim Klick auf einen Button eine .wav Datei abspielen soll. In NetBeans funktioniert das Ganze auch problemlos, nur hätte ich das Programm gerne in einer Form, die zum Starten nicht die IDE benötigt. Wenn ich aber das mit "clean and build" erstellte .jar File direkt öffne, bekomme ich zwar mein Programmfenster, beim Drücken des Buttons jedoch keinen Sound.
Habe durch Google schon herausgefunden, dass es wohl daran liegt, dass die .jar Datei die .wav Datei nicht findet, da ich es irgendwie als Resource einbinden muss. Leider habe ich noch keine Lösung gefunden, wie das funktioniert. Könnt ihr mir da vielleicht weiterhelfen? Gerne auch ein weiterführender Link zum Thema, ich würde es gerne besser verstehen, was da eigentlich passiert.
Hier zur Sicherheit mal der Code aus meiner FXMLDocumentController Datei, das Abspielen der Datei hatte ich zudem auch mit Hilfe von Media und MediaPlayer programmiert, der Fehler war aber der Gleiche.
Java:
public class FXMLDocumentController implements Initializable {
static void playSound(File f){
try{
Clip song = AudioSystem.getClip();
song.open(AudioSystem.getAudioInputStream(f));
song.start();
}
catch(LineUnavailableException | UnsupportedAudioFileException | IOException e){
System.out.print(e);
}
}
@FXML
private Label label;
@FXML
private void handleButtonAction(ActionEvent event) {
File test = new File("test.wav");
playSound(test);
}
@Override
public void initialize(URL url, ResourceBundle rb) {
// TODO
}
}
Vielen Dank für eure Antworten!
LG Basti