Сначала я прошу прощения за мой плохой английский ...
Я сделал приложение Media Player с Javafx.
этот проигрыватель может получать мультимедийные файлы.и воспроизводить файлы вне всех ограничений.
это работает хорошо.но иногда не работает ..
это не ошибка носителя.это ошибка медиаплеера.
сообщение об ошибке: «mediaPlayer Unknown, media Invalid ..» why.??
Я воспроизводил один и тот же видеофайл (1920 * 1080), иногда работал, а иногда не работал..
а javafx зависит от ОС ??Плеер отлично работает на компьютере windown7, но у игрока есть эта ошибка на компьютере windown10 ...
, пожалуйста, дайте мне совет ..
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;
Метод воспроизведения медиаплеера
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();
});
}
Метод кнопки
@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();
}