Учитывая название плейлиста для Android, как можно найти песни в плейлисте?

Имена списков воспроизведения можно найти по запросу в MediaStore.Audio.Playlists.EXTERNAL_CONTENT_URI а затем посмотреть столбец MediaStore.Audio.PlaylistsColumns.NAME . Также есть столбец данных, MediaStore.Audio.PlaylistsColumns._DATA, но он возвращает значение null.

Список песен ( MediaStore.Audio.Media.EXTERNAL_CONTENT_URI/id ), похоже, не отображает принадлежность к плейлисту.

Solutions Collecting From Web of "Учитывая название плейлиста для Android, как можно найти песни в плейлисте?"

Вот немного от моей программы:

Суть в том, что вам нужен идентификатор для плейлиста, чтобы захватить песни.

В основном вы можете взять мой код и изменить оператор where на .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; } 

Это способ получить весь список воспроизведения с устройства

 public ArrayList<String> getPlayList() { ArrayList<String> arrayList=new ArrayList<String>(); String[] proj = {"*"}; Uri tempPlaylistURI = MediaStore.Audio.Playlists.EXTERNAL_CONTENT_URI; // In the next line 'this' points to current Activity. // If you want to use the same code in other java file then activity, // then use an instance of any activity in place of 'this'. Cursor playListCursor= activity.managedQuery(tempPlaylistURI, proj, null,null,null); if(playListCursor == null){ System.out.println("Not having any Playlist on phone --------------"); return arrayList;//don't have list on phone } System.gc(); String playListName = null; System.out.println(">>>>>>> CREATING AND DISPLAYING LIST OF ALL CREATED PLAYLIST <<<<<<"); for(int i = 0; i <playListCursor.getCount() ; i++) { playListCursor.moveToPosition(i); playListName = playListCursor.getString(playListCursor.getColumnIndex("name")); System.out.println("> " + i + " : " + playListName ); arrayList.add(playListName); } if(playListCursor != null) playListCursor.close(); return arrayList; }