JavaFX MP3 abspielen?

... komplette Frage anzeigen

2 Antworten

Ja hallo (wieder) - Schade, dass es leider mittlerweile keine neuen Details gab hinsichtlich deiner letzten Frage, was sich mit dem selben Thema befasst.

Sofern du nun Eclipse mit JDK 8 zum laufen gebracht hast, sollte dein ursprünglicher Code nämlich funktionieren. - Ich ändere allerdings den Pfad ab, da du von einer externen Datei ausgehst, zudem wäre für die anderen interessierten Antwort-Geber noch die Information relevant, dass du mit JavaFX arbeitest.

 public void start(Stage primaryStage) {
Media media = new Media("C:\\\\temp\\\\MeinSong.mp3");
MediaPlayer mediaPlayer = new MediaPlayer(media);
mediaPlayer.play();
primaryStage.setTitle("");//();setTitle("Audio Player 1");
primaryStage.setWidth(200);
primaryStage.setHeight(200);
primaryStage.show();
}


Sofern du JavaFX ausschließen möchtest, da es für dich nicht mehr relevant ist, gib bitte bescheid. Denn in so einem Falle wird das abspielen von MP3 Songs nämlich nicht mehr so trivial.


Sorry, aber nochmal zu deiner vorherigen Frage, ergänzend, da ich schlichtweg vermute, dass bei dir noch nicht auf das JDK 8 referenziert wird und du deshalb deinen Code nicht ausführen kannst. Hier ein Tutorial, dass dich hierbei unterstützt:

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von yeretor
25.04.2016, 16:23

Vorher hats halt meinen ganzen code für falsch befunden. Jetzt nichtmehr, ich bekomm bie diesem code:

package helloworld;

import javafx.application.Application;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
import javafx.stage.Stage;

public class HelloWorld extends Application {
public static void main(String[] args) {
HelloWorld hw = new HelloWorld();
Stage ps = new Stage();
hw.start(ps);

}

public void start(Stage primaryStage) {
Media media = new Media("D:\\Bsp.mp3");
MediaPlayer mediaPlayer = new MediaPlayer(media);
mediaPlayer.play();
primaryStage.setTitle("Title");//();setTitle("Audio Player 1");
primaryStage.setWidth(200);
primaryStage.setHeight(200);
primaryStage.show();
}
}

Diese vehlermeldung:

java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:389)
at com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:328)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:767)
Caused by: java.lang.IllegalStateException: Not on FX application thread; currentThread = main
at com.sun.javafx.tk.Toolkit.checkFxUserThread(Toolkit.java:236)
at com.sun.javafx.tk.quantum.QuantumToolkit.checkFxUserThread(QuantumToolkit.java:423)
at javafx.stage.Stage.(Stage.java:241)
at javafx.stage.Stage.(Stage.java:227)
at helloworld.HelloWorld.main(HelloWorld.java:12)
... 11 more
Exception running application helloworld.HelloWorld
0

Du kannst mit Hilfe des FileChoosers von JavaFX dir eine entsprechende .mp3 Datei in ein File Object abspeichern. Und dann einfach mit Hilfe der Media und der MediaPlayer Klasse diese abspielen. 

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?