我想查询给定播放列表的成员.我有正确的播放列表ID,并且想要使用managedQuery()来查看有问题的播放列表成员.
我所拥有的是:
private String [] columns = { MediaStore.Audio.Playlists.Members.PLAYLIST_ID,MediaStore.Audio.Playlists.Members.TITLE,}; Uri membersUri = MediaStore.Audio.Playlists.Members.getContentUri(volume,playlistId); Cursor tCursor = managedQuery(membersUri,columns,null,null);
我不知道音量参数是什么.我试过这个:
MediaStore.Audio.Playlists.EXTERNAL_CONTENT_URI.toString()为“volume”参数.
content://media/external/audio/playlists/2/members
但是,我的光标返回null.我可能离开了基地 – 我知道我想做的很简单.
解决方法
字符串“external”用作MediaStore.Audio.Playlists.Members.getContentUri(volume,playlistId)中的卷
此活动将打印Android上的歌曲,播放列表及其内容.
import android.app.Activity; import android.database.Cursor; import android.net.Uri; import android.os.Bundle; import android.provider.MediaStore; import android.util.Log; public class PlaylistActivity extends Activity { private final String [] STAR= {"*"}; private final String TAG= "list"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //setContentView(R.layout.main); Log.i(TAG,"All the titles"); Uri allaudio_uri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI; Cursor ca= managedQuery(allaudio_uri,STAR,null); for(ca.movetoFirst(); !ca.isAfterLast(); ca.movetoNext()){ if(ca.isFirst()){ // print all the fields of the first song for(int k= 0; k<ca.getColumnCount(); k++) Log.i(TAG," "+ca.getColumnName(k)+"="+ca.getString(k)); }else{ // but just the titles of the res Log.i(TAG,ca.getString(ca.getColumnIndex("title"))); } } Log.i(TAG,"--------------------------"); Log.i(TAG,"All the playlists"); Uri playlist_uri= MediaStore.Audio.Playlists.EXTERNAL_CONTENT_URI; Cursor cursor= managedQuery(playlist_uri,null); cursor.movetoFirst(); for(int r= 0; r<cursor.getCount(); r++,cursor.movetoNext()){ Log.i(TAG,"-----"); Log.i(TAG,"Playlist " + cursor.getString(cursor.getColumnIndex("name"))); for(int k= 0; k<cursor.getColumnCount(); k++) Log.i(TAG,cursor.getColumnName(k)+"="+cursor.getString(k)); // the members of this playlist int id= cursor.getInt(0); Uri membersUri = MediaStore.Audio.Playlists.Members.getContentUri("external",id); Cursor membersCursor = managedQuery(membersUri,null); membersCursor.movetoFirst(); for(int s= 0; s<membersCursor.getCount(); s++,membersCursor.movetoNext()) Log.i(TAG," "+membersCursor.getString(membersCursor.getColumnIndex("title"))); membersCursor.close(); } cursor.close(); } }
原文地址:https://www.jb51.cc/android/313017.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。