【发布时间】: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