#java #android #logcat #mediametadataretriever
#Android #источник данных #аудиоплеер #android-музыкальный проигрыватель #mediametadataretriever
Вопрос:
Я хочу получить MediaMetadata (название песни / исполнителя) из текущего воспроизводимого источника звука Android для любого приложения (spotify, google Play, soundcloud, YouTube, blackplayer и т.д.) И пытаюсь использовать MediaMetadataRetriever.setDatSource
В настоящее время у меня есть функция ‘getActiveNotifications’ в ‘MainActivity.java ‘который вызывается при нажатии кнопки, мой код выглядит следующим образом:
public void getActiveNotifications(View view) {
String temp ="temp";
Log.i("myTag", "Logging active notifications:");
//get data from MediaMetaData somehow? Always displays correct string in Logcat
MediaMetadataRetriever mmr = new MediaMetadataRetriever();
//mmr.setDataSource("CURRENT APP PLAYING MUSIC (googlePlay / Spotify / Soundcloud etc)");
mmr.setDataSource("https://somewebsite.com/somefile.mp3", new HashMap<String,String>());
//extract metadata and save to string
String albumName = mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_TITLE);
Log.i("myTag", "done with function. ");
}
Могу ли я использовать .setDatSource вообще для любого музыкального приложения или это работает только для файлов?
Я вижу, что updateMediaMetaData в Logcat печатает метаданные мультимедиа воспроизводимой в данный момент песни, работающие как для приложений потоковой передачи музыки, так и для воспроизведения файлов (см. Рисунок)
Я на правильном пути? Есть ли способ, которым я могу использовать .getDataSource в приложениях потоковой передачи / fileplayer для любого воспроизводимого в данный момент источника звука?
любая помощь высоко ценится, спасибо
Комментарии:
1. вы нашли решение?
2. нет, у меня нет, я взял перерыв в этом проекте