给定一个Android的音乐播放列表的名称,一个人如何可以在播放列表中的歌曲吗?播放列表、名称、列表中、歌曲

2023-09-12 08:12:01 作者:疤

播放列表名称可以通过查询中发现 MediaStore.Audio.Playlists.EXTERNAL_CONTENT_URI 再看看 MediaStore.Audio.PlaylistsColumns.NAME 列。 有一个数据列太,MediaStore.Audio.PlaylistsColumns._DATA,但它返回空

The playlist names can be found by a query on MediaStore.Audio.Playlists.EXTERNAL_CONTENT_URI and then look at the MediaStore.Audio.PlaylistsColumns.NAME column. There is a data column too, MediaStore.Audio.PlaylistsColumns._DATA, but it is returning null.

歌曲列表( MediaStore.Audio.Media.EXTERNAL_CONTENT_URI / ID )似乎并没有表现出任何的播放列表隶属关系。

The list of songs (MediaStore.Audio.Media.EXTERNAL_CONTENT_URI/id) do not seem to show any playlist affiliation.

推荐答案

下面是一个有点从我的程序:

Here is a bit from my program:

要点是你需要的ID为播放列表抢的歌曲。

The gist is that you need the id for the playlist to grab the songs.

基本上,你可以把我的code和改变WHERE语句来。名称+=+姓名+',

Basically you can take my code and change the where statement to .NAME +" = '"+name+"'",

private Cursor getPlaylists(String playlistId){
         Cursor cursor = null;

 String[] projection1 = {
        MediaStore.Audio.Playlists._ID,
        MediaStore.Audio.Playlists.NAME
     };

     cursor = this.managedQuery(
        MediaStore.Audio.Playlists.EXTERNAL_CONTENT_URI,
        projection1,
        MediaStore.Audio.Playlists._ID+ " = "+playlistId+"",
        null,
        null);
startManagingCursor(cursor);
cursor.moveToFirst();
   playlist_id = cursor.getString(0);
   playlist_id2 = cursor.getLong(0);

           if(playlist_id2 > 0){
           String[] projection = {
                   MediaStore.Audio.Playlists.Members.AUDIO_ID,
                   MediaStore.Audio.Playlists.Members.ARTIST,
                   MediaStore.Audio.Playlists.Members.TITLE,
                    MediaStore.Audio.Playlists.Members._ID



                };
           cursor = null;
                cursor = this.managedQuery(
                    MediaStore.Audio.Playlists.Members.getContentUri("external",playlist_id2 ),
                    projection,
                    MediaStore.Audio.Media.IS_MUSIC +" != 0 ",
                    null,
                    null);

           }
           cManager(cursor,2,1);
           return cursor;
       }