【问题标题】:JavaFX sample code does not play video it just shows media playerJavaFX 示例代码不播放视频它只是显示媒体播放器
【发布时间】:2014-12-11 17:56:56
【问题描述】:

我已经在 Netbeans - Ubuntu 14.04 上创建了一个示例代码 - 视频在这个 ..example 之外从同一路径正常播放。该路径仅在我的机器上。

package javafxapplication1;

import java.io.File;
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
import javafx.scene.media.MediaView;
import javafx.stage.Stage;

public class JavaFXApplication1 extends Application {

    public static void main(String[] args) {
        launch(args);
    }

    @Override
    public void start(Stage primaryStage) {
        String workingDir = System.getProperty("user.dir");
        System.out.println("workingDir"+workingDir);
        File f = new File(workingDir, "the_appartition.flv");


        //try{

        //Media m = new Media(f.toURI().toString());

        Media m = new Media("http://192.168.1.251/test/videos/the_appartition.flv");
        System.out.println("media "+m.getSource());
        MediaPlayer mp = new MediaPlayer(m);
        MediaView mv = new MediaView(mp);

        StackPane root = new StackPane();
        root.getChildren().add(mv);

        primaryStage.setScene(new Scene(root, 960, 540));
        primaryStage.setTitle("Video Player 1");
        primaryStage.show();

        mp.play();
        /*}
        catch(Throwable t)
        {
              t.printStackTrace();

        }*/
    }
}

它显示空白媒体播放器而没有任何错误/异常的原因可能是什么。

【问题讨论】:

  • 您应该在代码中添加错误处理,如 JavaFX media package javadoc 中所述。
  • 我也添加了错误块来捕获 MediaException 但是没有抛出异常
  • 当您说“视频在此之外正常播放”时,这是什么意思?您如何播放视频并使其正常工作?如果它正常播放,为什么要问这个问题?视频是否编码为JavaFX media documentation 中指定的格式?例如是 VP6 编码的 FLV? (此类文件极为罕见)。
  • 您的系统是否满足JavaFX Playback 的最低要求?例如更新您的问题以包含有关您正在运行的 GLIB 版本以及安装的 libavcodec 和 libavformat 版本的信息。还要在您的问题中包含带有错误处理的代码版本。

标签: java javafx media-player media ubuntu-14.04


【解决方案1】:

这个问题有一个固定的 JIRA

[Linux] JavaFX Media does not run on Ubuntu 14.04

在 Java 8u40 版本中已修复。如果你真的想运行它,你可能想从JDK™ 8u40 Early Access Releases下载并安装JDK的早期可用版本

【讨论】:

  • 我安装了这个 JDK 早期访问版本仍然显示白色空白区域
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-06-08
  • 2013-04-10
  • 2014-09-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-20
相关资源
最近更新 更多