javafx声音/视频播放
我一直在尝试使用JavaFX播放一些mp3和视频,但没有结果。我也搜索了这个论坛上的每一个主题,寻找解决方案,但没有成功。。。 如果有人能帮助我,我将不胜感激 这是我的代码:javafx声音/视频播放,java,video,javafx,mp3,playback,Java,Video,Javafx,Mp3,Playback,我一直在尝试使用JavaFX播放一些mp3和视频,但没有结果。我也搜索了这个论坛上的每一个主题,寻找解决方案,但没有成功。。。 如果有人能帮助我,我将不胜感激 这是我的代码: @Override public void start(Stage primaryStage) throws MalformedURLException { primaryStage.setTitle("Embedded Media Player"); Group root = new Group();
@Override
public void start(Stage primaryStage) throws MalformedURLException {
primaryStage.setTitle("Embedded Media Player");
Group root = new Group();
Scene scene = new Scene(root, 540, 241);
File f = new File("src/sample/test2.mp3");
Media media = new Media(f.toURI().toString());
MediaPlayer mediaPlayer = new MediaPlayer(media);
mediaPlayer.setAutoPlay(true);
MediaView mediaView = new MediaView(mediaPlayer);
System.out.println("mediaPlayer.getMedia() = " + mediaPlayer.getMedia().getSource());
System.out.println("mp.getStatus() = " + mediaPlayer.getStatus());
System.out.println("mediaPlayer.getTotalDuration() = " + mediaPlayer.getTotalDuration());
System.out.println("mediaPlayer.getMedia().getSource() = " + mediaPlayer.getMedia().getSource());
((Group)scene.getRoot()).getChildren().add(mediaView);
primaryStage.setScene(scene);
primaryStage.show();
mediaPlayer.play();
mediaPlayer.getMedia() = file:/C:/Users/Piotr/Desktop/okon/src/sample/test2.mp3
mp.getStatus() = UNKNOWN
mediaPlayer.getTotalDuration() = UNKNOWN
mediaPlayer.getMedia().getSource() = file:/C:/Users/Piotr/Desktop/okon/src/sample/test2.mp3
和输出:
@Override
public void start(Stage primaryStage) throws MalformedURLException {
primaryStage.setTitle("Embedded Media Player");
Group root = new Group();
Scene scene = new Scene(root, 540, 241);
File f = new File("src/sample/test2.mp3");
Media media = new Media(f.toURI().toString());
MediaPlayer mediaPlayer = new MediaPlayer(media);
mediaPlayer.setAutoPlay(true);
MediaView mediaView = new MediaView(mediaPlayer);
System.out.println("mediaPlayer.getMedia() = " + mediaPlayer.getMedia().getSource());
System.out.println("mp.getStatus() = " + mediaPlayer.getStatus());
System.out.println("mediaPlayer.getTotalDuration() = " + mediaPlayer.getTotalDuration());
System.out.println("mediaPlayer.getMedia().getSource() = " + mediaPlayer.getMedia().getSource());
((Group)scene.getRoot()).getChildren().add(mediaView);
primaryStage.setScene(scene);
primaryStage.show();
mediaPlayer.play();
mediaPlayer.getMedia() = file:/C:/Users/Piotr/Desktop/okon/src/sample/test2.mp3
mp.getStatus() = UNKNOWN
mediaPlayer.getTotalDuration() = UNKNOWN
mediaPlayer.getMedia().getSource() = file:/C:/Users/Piotr/Desktop/okon/src/sample/test2.mp3
编辑:
转到Ubuntu解决了我的问题添加一个侦听器:
mediaPlayer.statusProperty().addListener(新的ChangeListener()){
@凌驾
公共无效已更改(可观察值可观察、对象旧值、对象新值){
System.out.println(“mp.getStatus()=”+mediaPlayer.getStatus());
System.out.println(“mediaPlayer.getTotalDuration()=”+mediaPlayer.getTotalDuration());
}
}); 你的位置看起来还不错。您可以尝试使用
Media Media=new Media(getClass().getResource(“/sample/test2.mp3”).toExternalForm())编码>并更新您的发现?