有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java javafx声音/视频播放

我一直在尝试使用JavaFX播放一些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解决了我的问题


共 (1) 个答案

  1. # 1 楼答案

    添加一个侦听器:

    mediaPlayer。statusProperty()。addListener(新的ChangeListener(){ @凌驾 公共无效已更改(ObservableValue observable、Object oldValue、Object newValue){ 系统出来println(“mp.getStatus()=”+mediaPlayer。getStatus()); 系统出来println(“mediaPlayer.getTotalDuration()=”+mediaPlayer。getTotalDuration()); } });