Video Can';t播放mp4转换文件-JavaFX2.1
我已将Video Can';t播放mp4转换文件-JavaFX2.1,video,media-player,javafx-2,converter,Video,Media Player,Javafx 2,Converter,我已将.mov视频转换为.mp4,但当我在javafx应用程序中播放视频时,它无法工作,我可以听到视频文件的音频,但没有图片!可能.mp4的编解码器不正确!有什么想法或解决办法吗 更新 使用相同的代码,我在相同的条件下播放了另一个mp4视频(Platforme,JFX版本,…),因此我得出结论,我对这个mp4转换文件有问题,ie我用来转换mov文件的软件没有生成JFX 2.1支持的适当mp4格式。下面的代码示例演示如何在JavaFX中播放h.264编码的mp4视频 import javafx.a
.mov
视频转换为.mp4
,但当我在javafx应用程序中播放视频时,它无法工作,我可以听到视频文件的音频,但没有图片!可能.mp4的编解码器不正确!有什么想法或解决办法吗
更新
使用相同的代码,我在相同的条件下播放了另一个mp4视频(Platforme,JFX版本,…),因此我得出结论,我对这个mp4转换文件有问题,ie我用来转换mov文件的软件没有生成JFX 2.1支持的适当mp4格式。下面的代码示例演示如何在JavaFX中播放h.264编码的mp4视频
import javafx.application.Application;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.layout.*;
import javafx.scene.media.*;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
/** plays an mp4 video in JavaFX 2.1+ */
public class OnlineVideoPlayer extends Application {
public static void main(String[] args) { launch(args); }
@Override public void start(Stage stage) {
final Label status = new Label("Init");
MediaPlayer mediaPlayer = createMediaPlayer(
"http://www.html5videoplayer.net/videos/toystory.mp4",
status
);
VBox layout = new VBox(10);
layout.setAlignment(Pos.CENTER);
layout.getChildren().addAll(new MediaView(mediaPlayer), status);
stage.setScene(new Scene(layout, 500, 300, Color.CORNSILK));
stage.show();
if (mediaPlayer != null) {
mediaPlayer.play();
}
}
/**
* creates a media player using a url to the media
* and tracks the status of playing the media via the status label
*/
private MediaPlayer createMediaPlayer(final String url, final Label status) {
Media hit = new Media(url);
MediaPlayer mediaPlayer = new MediaPlayer(hit);
mediaPlayer.setOnError(new Runnable() {
@Override public void run() {
status.setText("Error");
}
});
mediaPlayer.setOnPlaying(new Runnable() {
@Override public void run() {
status.setText("Playing: " + url);
}
});
mediaPlayer.setOnEndOfMedia(new Runnable() {
@Override public void run() {
status.setText("Done");
}
});
return mediaPlayer;
}
}
示例程序输出:(JavaFX8U72,OSX10.9.5)。
您需要确保.mp4文件是用H264编码的。MPEG4不工作 你在用什么操作系统?你用的是什么编解码器?编解码器是h.264吗?视频可以用JavaFX2.2播放吗?我使用的是xp,我已经安装了divx。对于编解码器,我正在尝试将视频转换为H264,我不知道我是否成功地做到了这一点。对于JavaFX2.2,我不知道,因为我使用的是2.1。我尝试了代码,但不断得到媒体音频格式不支持的错误。示例使用的视频已不存在,因此我正在尝试从这里创建文件,但运气不好:我更新了答案,使用了新的视频链接,播放效果很好。@jewelsea如果视频是.mp4,但编码为MPEG4,我能做些什么?