以下のソースを実行すると音声は流れますが、映像を流すにはどうすればいいですか?
public class Main extends Application {
public static void main(String[] args) {
launch(args);
}
public void start(Stage stage) {
String movieURL = "flv動画ファイルのパス";
Media media = new Media(movieURL);
MediaPlayer player = new MediaPlayer(media);
MediaView view = new MediaView();
view.setMediaPlayer(player);
player.play();
}
}
MediaPlayer クラスを使う場合にはこちらが参考になると思います。
http://pentan.info/android/app/sample/mediaplayer.html
VideoView クラスを使う場合の紹介もあります。
http://pentan.info/android/app/sample/videoview.html
FLV もサポートしていることになっています。
http://www.oracle.com/technetwork/jp/java/javafx/overview/faq-1446554-ja.html#7
7. JavaFXはオーディオおよびビデオ・コードをサポートしていますか。
JavaFXは一般的なAPIのセットを提供しており、任意のJavaFXアプリケーション内にメディア再生機能を簡単に組み込むことができます。 現在サポートされているメディア形式は次のとおりです。
- オーディオ: MP3、非圧縮PCMを格納したAIFF、非圧縮PCMを格納したWAV、Advanced Audio Coding(AAC)オーディオを含むMPEG-4マルチメディア・コンテナ
- ビデオ: VP6ビデオとMP3オーディオを格納したFLV、H.264/AVC(Advanced Video Coding)ビデオ圧縮を含むMPEG-4マルチメディア・コンテナ
MediaPlayer クラスを使う場合にはこちらが参考になると思います。
http://pentan.info/android/app/sample/mediaplayer.html
VideoView クラスを使う場合の紹介もあります。
http://pentan.info/android/app/sample/videoview.html
FLV もサポートしていることになっています。
http://www.oracle.com/technetwork/jp/java/javafx/overview/faq-1446554-ja.html#7
7. JavaFXはオーディオおよびビデオ・コードをサポートしていますか。
JavaFXは一般的なAPIのセットを提供しており、任意のJavaFXアプリケーション内にメディア再生機能を簡単に組み込むことができます。 現在サポートされているメディア形式は次のとおりです。
- オーディオ: MP3、非圧縮PCMを格納したAIFF、非圧縮PCMを格納したWAV、Advanced Audio Coding(AAC)オーディオを含むMPEG-4マルチメディア・コンテナ
- ビデオ: VP6ビデオとMP3オーディオを格納したFLV、H.264/AVC(Advanced Video Coding)ビデオ圧縮を含むMPEG-4マルチメディア・コンテナ
質問内のソースの元は一番目のサイトです。
質問内のソースの冒頭に以下を追加。
import javafx.scene.Group;
import javafx.scene.Scene;
さらに、
player.play();
の前に他サイトから以下を追加。
Group root = new Group();
Scene scene = new Scene(root,800,600);
root.getChildren().add(view);
stage.setScene(scene);
stage.show();
質問前にこれを実行したら音しか流れなかったですが、自前のファイルに問題があったようです(フリーソフトのプレイヤーでは映像は流れました)。二番目のサイトのソース内のファイルパスのファイルをダウンロードして使ったら映像が流れました。
二番目と三番目のサイトのソースは自前のファイルだと映像は流れなかったですが、二番目のサイトのファイルだと流れました。コントロール関係も載ってるのでとても参考になります。ありがとうございました。
こちらが参考になると思います。
2014/06/10 10:22:51http://www.infoq.com/jp/articles/JavaFX2.0
http://www.java2s.com/Code/Java/JavaFX/MediaPlayerforflvfile.htm
http://www.java2s.com/Code/Java/JavaFX/FullScreenVideoPlayer.htm
質問内のソースの元は一番目のサイトです。
2014/06/10 17:54:56質問内のソースの冒頭に以下を追加。
import javafx.scene.Group;
import javafx.scene.Scene;
さらに、
player.play();
の前に他サイトから以下を追加。
Group root = new Group();
Scene scene = new Scene(root,800,600);
root.getChildren().add(view);
stage.setScene(scene);
stage.show();
質問前にこれを実行したら音しか流れなかったですが、自前のファイルに問題があったようです(フリーソフトのプレイヤーでは映像は流れました)。二番目のサイトのソース内のファイルパスのファイルをダウンロードして使ったら映像が流れました。
二番目と三番目のサイトのソースは自前のファイルだと映像は流れなかったですが、二番目のサイトのファイルだと流れました。コントロール関係も載ってるのでとても参考になります。ありがとうございました。