JavaFX MediaPlayer не показывает обложку альбома для всех моих аудио файлов, даже если они есть - PullRequest
0 голосов
/ 09 января 2019

Я пытаюсь создать базовый медиаплеер в JavaFX. Я наконец-то сделал возможным отображение обложки альбома на основе метаданных в файле.

Однако в некоторых песнях он ничего не показывает, даже если я знаю, что есть обложка альбома.

Здесь нет проблем:

two muppets

two muppets

Однако, когда я выбираю другой файл, он выглядит так:

two muppets

two muppets

Клянусь, единственное, что я меняю, это название песни. Оба файла отформатированы в MP3 и имеют 500x500 jpg в качестве обложки альбома. Песня играет успешно. Это означает, что файл существует. Но нет обложки альбома

Переменная me - это Media, который содержит файл.

Этот метод используется для отображения обложки альбома в программе:

private void displayAlbumCover (){

    // Will start to show a blank CD
    File file = new File("src/sample/images/blank_cd.jpeg");

    Image image = new Image(file.toURI().toString());

    albumCoverView.setImage(image);


    // However if an album cover is found in the meta-data it will be displayed
    ObservableMap<String,Object> meta_data=me.getMetadata();

    meta_data.addListener((MapChangeListener<String, Object>) ch -> {

        if(ch.wasAdded()){

            String key=ch.getKey();
            Object value=ch.getValueAdded();

            if (key.equals("image")){

                // If there's an album cover in the metadata it will be displayed
                albumCoverView.setImage((Image)value);

                System.out.println("Found album cover");

            }
        }
    });

}

1 Ответ

0 голосов
/ 09 января 2019

Хорошо, я попробовал отладку, и вот что я получаю:

enter image description here

Тот, что выше, работает нормально.

enter image description here

Но это не так. Можете ли вы увидеть что-то на основе информации, которую я вам дал?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...