Bei mir bricht das Abspielen von Soundfiles immer wieder ab.
Mitten im Abspielen.
Ich habe keine Ahnung was ich tun kann um das zu verhindern.
Ich zeig mal meinen Code.
Das ist eine innere Klasse.
Hier ist die Konsolenausgabe:
Step 1: UNKNOWN
Step 2: UNKNOWN
Wenn der Player der Meinung wäre das File ist zu ende hätte die Ausgabe aus setonend kommen müssen.
Auch ein Status hätte angezeigt werden müssen.
Ich habe schon jede Menge gegoogle und auch die Theorien über den Garbagecollector gelesen.
aber in einer Klasse in einem Task dürfte das doch keine Rolle spielen.
Das ist ein riesiges Problem für mich, kann mir jemand helfen ?
Mitten im Abspielen.
Ich habe keine Ahnung was ich tun kann um das zu verhindern.
Ich zeig mal meinen Code.
Code:
private class playthissound extends Service<Void> {
private final Media hit;
MediaPlayer mediaPlayer;
public playthissound ( Media hit) {
this.hit = hit;
}
@Override
protected Task<Void> createTask() {
return new Task<Void>() {
@Override
protected Void call() throws Exception {
mediaPlayer = new MediaPlayer (hit);
System.out.println("Step 1: " + mediaPlayer.getStatus());
mediaPlayer.setOnEndOfMedia(() -> {
// mediaPlayer.stop();
mediaPlayer.dispose();
System.out.println("End of Media");
});
mediaPlayer.play();
System.out.println("Step 2: " + mediaPlayer.getStatus());
return null;
}
};
}
}
Das ist eine innere Klasse.
Hier ist die Konsolenausgabe:
Step 1: UNKNOWN
Step 2: UNKNOWN
Wenn der Player der Meinung wäre das File ist zu ende hätte die Ausgabe aus setonend kommen müssen.
Auch ein Status hätte angezeigt werden müssen.
Ich habe schon jede Menge gegoogle und auch die Theorien über den Garbagecollector gelesen.
aber in einer Klasse in einem Task dürfte das doch keine Rolle spielen.
Das ist ein riesiges Problem für mich, kann mir jemand helfen ?