android– 从MediaStore查询播放列表

android– 从MediaStore查询播放列表,第1张

概述我正在尝试从MediaStore查询设备中的播放列表.我之前提出过一个问题,但我没有得到答案.这是我查询播放列表的方式publicvoidaddToPlaylist(longplaylistId,Contextcontext,ArrayList<Play>playlistTracks,StringplaylistName){intcou

我正在尝试从MediaStore查询设备中的播放列表.我之前提出过一个问题,但我没有得到答案.

这是我查询播放列表的方式

public voID addtoplayList(long playListID, Context context,                          ArrayList<Play> playListTracks, String playListname) {    int count = getPlayListSize(playListID, context);    Log.d("playList size=", "" + count);    ContentValues[] values = new ContentValues[playListTracks.size()];    for (int i = 0; i < playListTracks.size(); i++) {        values[i] = new ContentValues();        values[i].put(MediaStore.Audio.PlayLists.Members.PLAY_ORDER, i                      + count + 1);        values[i].put(MediaStore.Audio.PlayLists.Members.AUdio_ID,                      playListTracks.get(i).getID());        values[i].put(MediaStore.Audio.PlayLists.name, playListname);    }    ContentResolver resolver = context.getContentResolver();    Uri uri = MediaStore.Audio.PlayLists.Members.getContentUri("external",                                                               playListID);    int num = resolver.bulkInsert(uri, values);     Log.d("songs added=", "" + num); // added    resolver.notifyChange(Uri.parse("content://media"), null);}private int getPlayListSize(long playListID, Context context){    // Todo: Implement this method    return 0;}public voID retrIEveAllPlayLists(Context context) {    Uri tempPlayListURI = MediaStore.Audio.PlayLists.EXTERNAL_CONTENT_URI;    final String IDKey = MediaStore.Audio.PlayLists._ID;    final String nameKey = MediaStore.Audio.PlayLists.name;    final String[] columns = { IDKey, nameKey };    Cursor playListCursor = context.getContentResolver().query(        tempPlayListURI, columns, null, null, null);    if (playListCursor != null) {        Log.d("playList cursor count=", "" + playListCursor.getCount());        for (boolean hasItem = playListCursor.movetoFirst(); hasItem; hasItem = playListCursor        .movetoNext()) {            playListname = playListCursor.getString(playListCursor                                                    .getColumnIndex(nameKey));            // noOfTracks = playListCursor.getInt(playListCursor            // .getColumnIndex(tracksCountKey));            Log.d(this.getClass().getname(), "playListname=" + playListname // returns only default playListsthe                  + "tracks=" + noOfTracks);            playListModel.add(new Play(playListname, noOfTracks));        }    }}

我得到的只是一个空白屏幕.请指导我

解决方法:

创建播放列表的简单方法是:

            public voID addnewPlayList(Context context, String newplayList) {    ContentResolver resolver = context.getContentResolver();    ContentValues values = new ContentValues(1);    values.put(MediaStore.Audio.PlayLists.name, newplayList);    resolver.insert(uri, values);}

然后填充播放列表:

    public voID addTracktoplayList(Context context, String audio_ID,    long playList_ID, int pos) {    Uri newuri = MediaStore.Audio.PlayLists.Members.getContentUri(            "external", playList_ID);    ContentResolver resolver = context.getContentResolver();    ContentValues values = new ContentValues();        values.put(MediaStore.Audio.PlayLists.Members.PLAY_ORDER, pos);        values.put(MediaStore.Audio.PlayLists.Members.AUdio_ID, audio_ID);        values.put(MediaStore.Audio.PlayLists.Members.PLAYList_ID,                playList_ID);        resolver.insert(newuri, values);}

查看代码,您不会构建正确的结构.播放列表不包含播放列表名称,只包含PlayList_ID.

要返回所有播放列表:

        public Cursor getandroidplayListcursor(Context context) {    ContentResolver resolver = context.getContentResolver();    final String ID = MediaStore.Audio.PlayLists._ID;    final String name = MediaStore.Audio.PlayLists.name;    final String[] columns = { ID, name };    final String criteria = null    return  resolver.query(uri, columns, criteria, null,            name + " ASC");}
总结

以上是内存溢出为你收集整理的android – 从MediaStore查询播放列表全部内容,希望文章能够帮你解决android – 从MediaStore查询播放列表所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1097092.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存