【问题标题】:Song track info of Google Play Music AppGoogle Play 音乐应用的歌曲曲目信息
【发布时间】:2014-11-03 16:12:21
【问题描述】:

我想要在 Google 上播放的歌曲的歌曲名称、艺术家和专辑名称播放音乐。

BroadcastReceiver mReceiver = new BroadcastReceiver() {

    @Override
    public void onReceive(Context arg0, Intent intent) {
        String track = intent.getStringExtra("track");
        String artist = intent.getStringExtra("artist");
        String album = intent.getStringExtra("album");
        songName.setText(track);
        artistName.setText(artist);
        albumName.setText(album);
    }
};

private void registerSongTrackReceiver() {
    IntentFilter iF = new IntentFilter();

    iF.addAction("com.android.music.playstatechanged");  
    iF.addAction("com.android.music.metachanged");
    iF.addAction("com.sec.android.app.music.playstatechanged");
    iF.addAction("com.sec.android.app.music.metachanged");
    iF.addAction("com.miui.player.metachanged");
    iF.addAction("com.htc.music.metachanged");
    iF.addAction("com.nullsoft.winamp.metachanged");
    iF.addAction("com.real.IMP.metachanged");
    iF.addAction("com.rdio.android.metachanged");
    registerReceiver(mReceiver, iF);
}

我正在使用上面的代码。我已注册此接收器以检索歌曲名称。当我使用 Google play Music 时,它会提供默认的音乐播放器标题。

【问题讨论】:

  • 你能显示更多代码吗?你的整个活动?

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


【解决方案1】:

最后我得到了使用 RemoteController 类的解决方案。现在我得到了每个音乐播放器的曲目信息。

http://developer.android.com/reference/android/media/RemoteController.html

这里是实现的例子

https://github.com/DrBreen/RemoteControllerExample/tree/master/src/com/woodblockwithoutco/remotecontrollerexample

【讨论】:

  • 您好,您有针对旧 API 的解决方案吗,因为 Lollipop 中引入了 NotificationListenerService?
  • 不适用于较旧的 api。对于低于 KITKAT 的旧版本,您需要使用所提及的广播接收器,但它不适用于所有音乐播放器。对于 Kitkat,您可以使用 RemoteController 类,对于 LOLLIPOP 使用 MediaController 类,因为 RemoteController 已弃用
  • 感谢您的信息。由于大约 50% 的设备仍运行在 KitKat(API
猜你喜欢
  • 2012-05-17
  • 1970-01-01
  • 1970-01-01
  • 2018-12-14
  • 1970-01-01
  • 2013-06-06
  • 1970-01-01
  • 2015-08-28
相关资源
最近更新 更多