@ -73,7 +73,9 @@ public class PlayerController {
@FXML private JFXSlider timeSlider ;
@FXML private JFXButton btnBack ;
@FXML private JFXButton playBtn ;
@FXML private JFXButton btnPlay ;
@FXML private JFXButton btnReplay ;
@FXML private JFXButton btnForward ;
@FXML private JFXButton fullscreenBtn ;
@FXML private JFXButton nextEpBtn ;
@ -103,10 +105,10 @@ public class PlayerController {
private boolean showControls = true ;
private boolean autoplay ;
private Image playArrow = new Image ( "icons/baseline_play_arrow_black _48dp.png" ) ;
private Image pause = new Image ( "icons/baseline_pause_black _48dp.png" ) ;
private Image fullscreen = new Image ( "icons/baseline_fullscreen_black _48dp.png" ) ;
private Image fullscreenExit = new Image ( "icons/baseline_fullscreen_exit_black _48dp.png" ) ;
private Image playArrow = new Image ( "icons/baseline_play_arrow_white _48dp.png" ) ;
private Image pause = new Image ( "icons/baseline_pause_white _48dp.png" ) ;
private Image fullscreen = new Image ( "icons/baseline_fullscreen_white _48dp.png" ) ;
private Image fullscreenExit = new Image ( "icons/baseline_fullscreen_exit_white _48dp.png" ) ;
/ * *
* create a new PlayerWindow object
@ -274,11 +276,9 @@ public class PlayerController {
nextEpBtn . setText ( XMLController . getLocalBundle ( ) . getString ( "nextEpisode" )
+ countdown + XMLController . getLocalBundle ( ) . getString ( "seconds" ) ) ;
bottomVBox . setVisible ( true ) ;
System . out . println ( "next episode in " + countdown + " seconds" ) ;
} else {
nextEpBtn . setVisible ( false ) ;
// TODO start next episode
System . out . println ( "playing next episode ..." ) ;
playNextMedia ( ) ;
}
}
}
@ -289,6 +289,27 @@ public class PlayerController {
player . getStage ( ) . close ( ) ;
}
@FXML
void btnPlayAction ( ActionEvent event ) {
if ( embeddedMediaPlayer . status ( ) . isPlaying ( ) ) {
embeddedMediaPlayer . controls ( ) . pause ( ) ;
playIcon . setImage ( playArrow ) ;
} else {
embeddedMediaPlayer . controls ( ) . play ( ) ;
playIcon . setImage ( pause ) ;
}
}
@FXML
void btnReplayAction ( ActionEvent event ) {
embeddedMediaPlayer . controls ( ) . skipTime ( - 10000 ) ;
}
@FXML
void btnForwardAction ( ActionEvent event ) {
embeddedMediaPlayer . controls ( ) . skipTime ( 10000 ) ;
}
@FXML
void fullscreenBtnAction ( ActionEvent event ) {
if ( player . getStage ( ) . isFullScreen ( ) ) {
@ -299,21 +320,11 @@ public class PlayerController {
fullscreenIcon . setImage ( fullscreenExit ) ;
}
}
@FXML
void playBtnAction ( ActionEvent event ) {
if ( embeddedMediaPlayer . status ( ) . isPlaying ( ) ) {
embeddedMediaPlayer . controls ( ) . pause ( ) ;
playIcon . setImage ( playArrow ) ;
} else {
embeddedMediaPlayer . controls ( ) . play ( ) ;
playIcon . setImage ( pause ) ;
}
}
@FXML
void nextEpBtnAction ( ActionEvent event ) {
playNextMedia ( ) ; // TODO
nextEpBtn . setVisible ( false ) ;
playNextMedia ( ) ;
}
private void playNextMedia ( ) {
@ -321,7 +332,7 @@ public class PlayerController {
DBController . getInstance ( ) . setCurrentTime ( media . getStreamUrl ( ) , 0 ) ; // reset old video start time
FilmTabelDataType nextMedia = DBController . getInstance ( ) . getNextEpisode ( media . getTitle ( ) , episode , season ) ;
if ( nextMedia ! = null ) {
//mediaPlayer2.stop();
embeddedMediaPlayer . media ( ) . play ( nextMedia . getStreamUrl ( ) ) ;
media = nextMedia ;
autoplay = true ;
}