Android MediaMetadataRetriever возвращает нулевые значения из большинства ключей - программирование
Подтвердить что ты не робот

Android MediaMetadataRetriever возвращает нулевые значения из большинства ключей

Я хочу получить информацию из своих медиафайлов (mp3 в основном), и я получаю только нуль от тех значений, которые я хочу. Я пробовал все ключи для extractMetadata(key). Я пропускаю/пропускаю что-то?

Основание кода:

MediaMetadataRetriever f = new MediaMetadataRetriever();
f.setDataSource(item.getFilePath());

String title = f.extractMetadata(MediaMetadataRetriever.METADATA_KEY_TITLE);

Я получаю правильные значения с ключом продолжительности (MediaMetadataRetriever.METADATA_KEY_DURATION) и ключом mimetype (MediaMetadataRetriever.METADATA_KEY_MIMETYPE), который указывает, что работает путь datasource/filepath.

Poweramp (популярный медиаплеер) способен считывать значения метаданных, такие как title/author/composer и т.д., так как он отображает эти дополнительные значения в пользовательском интерфейсе. Или, возможно, Poweramp получает эти значения от какого-либо другого источника или метода?

Любая помощь приветствуется.

4b9b3361

Ответ 1

Это может показаться глупым, но вы пробовали со многими различными mp3 файлами? Как раз с моим опытом, если вы получаете свои mp3 файлы незаконно, ключей иногда просто нет.

Ответ 2

Poweramp поддерживает собственную базу данных в /data/data/com.maxmpz.audioplayer/databases/folders.db Для изучения этой базы данных вам понадобится внедренное устройство. Вы можете отправить мне сообщение, если вы хотите получить более подробную информацию.

Ответ 3

Значение метаданных ассоциируется с данным ключевым кодом при успешном завершении; null при ошибке.