我想从任何应用(spotify,google play,soundcloud,YouTube,blackplayer等)的当前播放android音频源中获取MediaMetadata(歌曲标题/歌手),并尝试使用MediaMetadataRetriever.setDatSource
当前,我在'MainActivity.java'中有一个函数'getActiveNotifications',每当按下一个按钮时就会调用该函数,我的代码如下:
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通常用于任何音乐应用程序,还是仅适用于文件吗?
我可以在Logcat打印的当前播放的歌曲的媒体元数据中看到updateMediaMetaData,该歌曲可同时用于音乐流和文件播放应用程序(请参见图片)
我在正确的轨道上吗?无论当前播放的音频源是什么,是否可以在流媒体/文件播放器应用程序上使用.getDataSource?
非常感谢您的帮助