播放視頻在我FXML文件我有:無法使用JavaFX的MediaPlayer
<AnchorPane prefHeight="500.0" prefWidth="500.0" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/8.0.40">
<children>
<Button layoutX="14.0" layoutY="461.0" mnemonicParsing="false" text="Dummy Button" />
<MediaView id="videoView" fitHeight="400.0" fitWidth="450.0" layoutX="14.0" layoutY="14.0" />
</children>
</AnchorPane>
這裏是我的代碼:
File f = new File("video.mp4");
Media media = new Media(f.toURI().toString());
MediaPlayer mediaPlayer = new MediaPlayer(media);
mediaPlayer.setAutoPlay(true);
MediaView mediaView = (MediaView) videoLayout.lookup("#videoView");
mediaView.setMediaPlayer(mediaPlayer);
虛擬按鈕,出現這樣的佈局是否正確裝入。沒有例外或錯誤,但仍然沒有任何反應。我沒有看到任何視頻幀,沒有播放任何內容。我在Windows 7上運行該代碼。我做錯了什麼?
編輯:
代碼就可以了。只是不是我所有的測試內容都支持。正如以下建議它的好來檢查球員狀態:
mediaPlayer.setOnError(()->System.out.println("media error"
+ mediaPlayer.getError().toString()));
至今我所遇到3個問題:
- 錯誤印「ERROR_MEDIA_CORRUPTED:ERROR_MEDIA_CORRUPTED」印
- 沒有錯誤,但只有音頻播放
- 引發異常「MediaException:MEDIA_UNSUPPORTED:無法識別的文件簽名!」
沒有打印錯誤。當我這樣做:mediaPlayer.setOnReady(() - > System.out.println(「media ready」));我看到媒體已經準備就緒。嵌入到FXML中也不起作用。 – user1723095
我對其他一些視頻進行了實驗,發現其中一個內容播放聲音很好(並且沒有從mediaPlayer返回錯誤)。其他根本不起作用(並且打印不支持的媒體)。第三也不起作用,雖然拋出異常,所以沒有打印錯誤。最後第四場比賽表現不錯,所以我認爲我的代碼沒問題。無論如何感謝您的回答,它幫助我找到了問題。 – user1723095