Search code examples
androidaudio-playerandroid-music-player

Song track info of Google Play Music App


I want song title, artist and album name of song playing on Google play music.

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);
}

I am using above code. I have register this receiver for retrieving song title. It gives default stock music player title when I am using Google play Music.


Solution

  • finally I got the solution using RemoteController class.Now I get the track info of every music player.

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

    Here is the example for implementation

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