2014-12-03 86 views

回答

3

您可以使用這些代碼只對音樂播放器在使用默認的Android媒體存儲。但Google Play音樂擁有自己的數據庫。這就是爲什麼你需要不同的URI和列名。

要獲得播放列表我用下面的代碼:

Uri playlistsUri = Uri.parse("content://com.google.android.music.MusicContent/playlists"); 
Cursor playlists = context.getContentResolver().query(playlistsUri, new String[]{"_id", "playlist_name"}, null, null, null); 

然後你就可以得到歌曲ID這是有關在默認的Android媒體存儲的歌曲ID。之後,您可以直接播放歌曲或獲取歌曲細節以對其進行任何操作。

Uri songsUri = Uri.parse("content://com.google.android.music.MusicContent/playlists/" + playlistId + "/members"); 
context.getContentResolver().query(songsUri, new String[]{"SourceId", "hasLocal"}, null, null, null); 

要獲得從Android的默認媒體存儲的歌曲的細節,你應該使用這樣的事情:

Cursor songDetailsCursor = context.getContentResolver().query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, 
       new String[]{MediaStore.Audio.Media.DATA}, 
       MediaStore.Audio.Media._ID + " = " + songId, 
       null, null); 
+0

第一個查詢只返回一個記錄。即最後創建的播放列表。 – 2016-11-09 07:49:33