1

.movビデオをに変換.mp4しましたが、javafx アプリケーションでビデオを再生すると動作しません。ビデオ ファイルの音声は聞こえますが、画像はありません。.mp4 が適切なコーデックに含まれていない可能性があります。アイデアや解決策はありますか?

アップデート

同じコードを使用して、同じ条件 (プレートフォーム、JFX バージョンなど) で別の mp4 ビデオを再生したので、この mp4 変換ファイル、つまり使用しているソフトウェアに問題があると結論付けています。 mov ファイルを変換しても、JFX 2.1 でサポートされている適切な mp4 形式が生成されません。

4

2 に答える 2

2

次のコード サンプルは、h.264 でエンコードされた mp4 ビデオを JavaFX で再生する方法を示しています。

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;
  }
}

サンプル プログラム出力: (JavaFX 8u72、OS X 10.9.5)。 バービー ウッディ

于 2012-10-05T21:48:30.137 に答える
1

.mp4 ファイルが H264 でエンコードされていることを確認する必要があります。MPEG4 は動作しません。

于 2014-04-04T19:31:23.967 に答える