使用.setDataSource从当前正在播放的音乐应用中获取mediaMetadata

时间:2019-03-07 04:41:43

标签: android datasource audio-player android-music-player mediametadataretriever

我想从任何应用(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,该歌曲可同时用于音乐流和文件播放应用程序(请参见图片)

enter image description here

我在正确的轨道上吗?无论当前播放的音频源是什么,是否可以在流媒体/文件播放器应用程序上使用.getDataSource?

非常感谢您的帮助

0 个答案:

没有答案