Используйте .setDataSource для получения mediaMetadata из воспроизводимого в данный момент музыкального приложения. - PullRequest
0 голосов
/ 07 марта 2019

Я хочу получить 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 для воспроизводимой в данный момент песни, работающих как для потоковой передачи музыки, так и для приложений воспроизведения файлов (см. рис.)

enter image description here

Я на правильном пути?Есть ли способ, которым я могу использовать .getDataSource в приложениях потоковой передачи / проигрывателя файлов для любого источника звука, который воспроизводится в данный момент?

любая помощь очень ценится, спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...