Android – Чтение тегов ID3 ​​из mp3-потока

Я транслирую mp3-файл с помощью MediaPlayer

 mp.setDataSource(myContext, Uri.parse("http://my_song.mp3")); mp.prepareAsync(); mp.setOnPreparedListener(mpOnPreparedListener); mp.setOnBufferingUpdateListener(mpOnBufferingUpdateListener); 

Любая идея о том, как я могу читать теги ID3 из этого потока с помощью API android или любых других методов?

Вы можете получить все это, используя MediaMetadataRetriever

 MediaMetadataRetriever mmr = new MediaMetadataRetriever(); mmr.setDataSource(filePath); String albumName = mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_ALBUM); 

Вы можете получить все другие теги, используя этот класс. Надеюсь, это поможет вам.

Это проект opensouce, возможно, может помочь вам, http://www.jthink.net/jaudiotagger/index.jsp

Jaudiotagger не является единственной доступной библиотекой тегов Java, но имеет некоторые ключевые преимущества, которые вы могли бы рассмотреть при оценке библиотеки для использования

Предоставьте общий интерфейс для самых популярных тридцати атрибутов для всех поддерживаемых форматов. Поддерживает чтение и запись файлов mp4, m4a и mp4p (защищенных), включая несколько изображений и обратных полей dns. Поддержка нескольких страниц Ogg Vorbis. Комментарии Поддерживает MP3 ID3v1, ID3v11, ID3v2.2, v2.3 и v2.4 прозрачно Позволяет легко конвертировать между версиями тегов ID3 ​​Поддерживает Flac, включая встроенную и связанную поддержку изображений Обеспечивает правильное представление объектов большинства полей, а не простое представление байтов Полностью поддерживает кодировку Unicode Text Encoding Активно развивается и поддерживается. Использует автоматическую проверку для обеспечения совместимости кодов между версиями. Использует инструмент Code Coverage для проверки подлинности кода. Используется ли рядом приложений

Intereting Posts
Захват события TextChanged внутри списка в Android Не удалось выполнить синхронизацию проекта Gradle? В ExpandableListView, как обнаружить групповое свертывание? Как создать проект React Native с использованием пряжи? LocationListener.onLocationChanged на эмуляторе Как получить «вызов» экземпляра Activity из вызываемой активности? Невозможно удалить повторяющиеся элементы из arraylist hashmap Чтение Более 20 байт с удаленного устройства BLE не удалось выполнить в Lolipop Создание PDF-файла в android программно и запись в него Android Studio внезапно не может разрешать символы Динамически удалять элемент из ViewPager с помощью FragmentStatePagerAdapter Может ли передача контекста статическому вспомогательному методу в качестве аргумента потенциально может привести к утечке памяти? Как создавать отчеты для Android Automation Как показать уведомление о входящем вызове в приложении Android OpenCV Service Intent должен быть явным, Android 5.0 Lolipop