我已經將我的.mov
視頻轉換爲.mp4
,但是當我在我的javafx應用程序中播放視頻時,它不起作用,我可以聽到視頻文件的音頻,但沒有圖片 !也許.mp4不在正確的編解碼器!任何想法或解決方案?無法播放mp4轉換文件 - JavaFX 2.1
UPDATE
用同樣的代碼,我再打MP4視頻,在相同條件下(PLATEFORME,JFX版,...),所以我得出的結論是我有問題,這MP4轉換文件,即我用來轉換mov文件的軟件不會生成JFX 2.1支持的approriat mp4格式。
我已經將我的.mov
視頻轉換爲.mp4
,但是當我在我的javafx應用程序中播放視頻時,它不起作用,我可以聽到視頻文件的音頻,但沒有圖片 !也許.mp4不在正確的編解碼器!任何想法或解決方案?無法播放mp4轉換文件 - JavaFX 2.1
UPDATE
用同樣的代碼,我再打MP4視頻,在相同條件下(PLATEFORME,JFX版,...),所以我得出的結論是我有問題,這MP4轉換文件,即我用來轉換mov文件的軟件不會生成JFX 2.1支持的approriat 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;
}
}
我已更新我的問題,謝謝您的回覆! – Adil
我試過了代碼,但不斷得到媒體音頻格式不支持的錯誤。該示例使用的視頻已不再存在,因此我正在嘗試從這裏下載文件,但運氣不佳:http://www.sample-videos.com/ – javydreamercsw
我更新了我的答案以使用新的視頻鏈接,並且播放效果良好。 – jewelsea
您需要確保您的.mp4文件在H264中編碼。 MPEG4不起作用。
你在使用什麼操作系統?你使用什麼編解碼器?編解碼器h.264? JavaFX 2.2可以播放視頻嗎? – jewelsea
我正在使用xp,並且我已經安裝了divx。對於編解碼器,我試圖將視頻轉換爲H264,我不知道我是否成功地做到了這一點。對於JavaFX 2.2,我不知道是因爲我在使用2.1。 – Adil