给定一个Android的音乐播放列表的名称,一个人如何可以在播放列表中的歌曲吗? [英] Given an Android music playlist name, how can one find the songs in the playlist?
问题描述
播放列表名称可以通过查询中发现 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;
}
这篇关于给定一个Android的音乐播放列表的名称,一个人如何可以在播放列表中的歌曲吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!