我想播放存在於我的硬盤中的兩個(或更多)視頻,如何更新Media對象以便MediaPlayer自動轉到下一個視頻。在JavaFX中播放連續視頻
2
A
回答
2
現在我不能測試它,但我認爲它應該工作:
public MediaView createMediaView(Collection<String> urls){
MediaView mediaView = new MediaView();
initMediaPlayer(mediaView, urls.iterator());
return mediaView;
}
private void initMediaPlayer(
final MediaView mediaView,
final Iterator<String> urls
){
if (urls.hasNext()){
MediaPlayer mediaPlayer = new MediaPlayer(new Media(urls.next()));
mediaPlayer.setAutoPlay(true);
mediaPlayer.setOnEndOfMedia(new Runnable() {
@Override public void run() {
initMediaPlayer(mediaView, urls);
}
});
mediaView.setMediaPlayer(mediaPlayer);
}
}
1
下面是從硬盤驅動器sample program which plays an AudioPlaylist。
該程序的工作原理是爲每個要播放的文件創建一個包含新MediaPlayer和新媒體的列表。在程序中有一個MediaView,對於每個MediaPlayer,在EndOfMedia上,MediaView的MediaPlayer被設置爲列表中的下一個。這與jju的遞歸答案几乎相同。
注意,要更改正在播放的媒體,您不要更新MediaPlayer中的媒體(因爲Media和MediaPlayer之間存在1:1對應關係,所以無法這樣做),而是將MediaPlayer更新爲MediaView。
視頻的概念與音頻非常相似,因爲JavaFX中的音頻和視頻都表示爲MediaPlayer播放的媒體,並通過MediaView進行管理。
相關問題
- 1. 視頻不連續播放
- 2. 連續播放視頻
- 3. 在MediaElement中連續播放視頻塊
- 4. 在VideoView中連續播放視頻
- 5. 連續播放16個視頻後視頻停止播放
- 6. Android VideoView不播放連續視頻
- 7. 如何連續播放視頻?
- 8. JMC/JavaFX - 播放視頻
- 9. JavaFX視頻沒有播放
- 10. 播放QuickTime視頻的JavaFX
- 11. javafx視頻播放器timeSlider
- 12. JavaFX - 播放循環視頻
- 13. 無法在JavaFX中連續播放MediaPlayer中的播放列表
- 14. JavaFX的WebEngine視頻播放在Linux中
- 15. 在javafx中播放加密視頻
- 16. 在JavaFX中播放Youtube視頻
- 17. iPhone Dev:MediaPlayer在後續播放中不播放視頻(僅音頻)
- 18. 在視頻播放中播放視頻
- 19. 使用視頻ID連續播放YouTube視頻
- 20. 連續播放視頻文件無延遲/視頻間緩衝
- 21. Xuggler音頻直播播放不連續
- 22. 在VLC播放列表中連續播放不同的視頻文件
- 23. 如何在Exoplayer中連續播放視頻塊
- 24. 在WPF媒體元素中連續播放視頻
- 25. JavaFX - 播放視頻作爲背景
- 26. 如何在iPhone上連續播放序列視頻?
- 27. 在Android上連續播放mp4視頻序列
- 28. 視頻播放器播放視頻
- 29. 在Flash播放器中播放視頻
- 30. 連續播放多個音頻文件