1

First i am sorry for my poor english...

i made Media Player Application with Javafx.

this player can get mulit file media. and play files out of all limits.

it work well. but sometimes not work..

it is not media error. it is mediaplayer error.

error message is 'mediaPlayer Unknown, media Invalid..' why.??

i played same video file(1920 * 1080), sometimes work and sometimes not work..

and javafx is depend on OS ?? player works perfectly on windown7 computer but player have this error on windown10 computer...

please give me advice..

MediaPlayer mediaPlayer = null;
Stage stage = new Stage();
AnchorPane pane = new AnchorPane();
Scene scene = new Scene(pane);

MediaView mediaView = new MediaView();
int mNextFileIndex = -1;
List<File> fileLists = new ArrayList<>();
Media media;

mediaplayer play Method

public void playNextMedia() {

    if (mediaPlayer != null) {
        mediaPlayer.dispose();
        mediaView.setMediaPlayer(null);
       }

   mNextFileIndex = (mNextFileIndex + 1) % fileLists.size();
   media =new Media(fileLists.get(mNextFileIndex).toURI().toString());

    media.setOnError(()-> {
        MainApp.makeLog("media error");
    });
    mediaPlayer = new MediaPlayer(media);

    mediaView.setMediaPlayer(mediaPlayer);


    mediaPlayer.setOnReady(() -> {
        mediaPlayer.play();
    });

    mediaPlayer.setOnEndOfMedia(() -> {
        playNextMedia();

    });

    mediaPlayer.setOnError(() -> {
      systom.out.println("mediaPlayer error");
      Systeom.out.println(mediaPlayer.getError().getMessage()); 
      playNextMedia();
    });

}

Button Method

@FXML
private void playMedia(ActionEvent event) {

    mNextFileIndex = -1;

        FileChooser fileChooser = new FileChooser();
        fileChooser.getExtensionFilters().addAll(new 
        FileChooser.ExtensionFilter("Select a File (*.mp4)", "*.mp4"),
        new FileChooser.ExtensionFilter("All Files", "*.*"));

        List<File> list = fileChooser.showOpenMultipleDialog(null);

        if (list != null) {
           for (File file : list) {
              fileLists.add(file)
            }

        playNextMedia();

        pane.getChildren().add(mediaView);
        stage.setScene(scene);
        stage.show();
 }
sehoon
  • 43
  • 6
  • Can you add whole error - stack trace? – Piro Apr 26 '18 at 07:28
  • Yes. MediaException : UNKNOWN : [com.sun.media.jfxmediaimpl.platform.gstreamer.GSTMediaPlayer@3ea957c0] ERROR_MEDIA_INVALID: ERROR_MEDIA_INVALID i made setOnError method, so when mediaplayer occur error, several times call error.. and play again perfectly thanks your comment.. – sehoon Apr 26 '18 at 07:55
  • i found it. MediaPlayer not work on win10 well.. – sehoon Aug 16 '18 at 07:38
  • Hi sehoon. If you found a solution or simply found that there is no solution, feel free to write it as answer and later accept it. Do you have some link for "not work on win10 well"? Future visitors may find it usefull. – Piro Aug 16 '18 at 08:18
  • thanks comment! here link https://bugs.openjdk.java.net/browse/JDK-8179616 – sehoon Aug 17 '18 at 05:11

0 Answers0