什么是MediaStore.Audio.Playlists.Members.getContentUri指的是字符串“卷名”的说法? [英] What is the String 'volumeName' argument of MediaStore.Audio.Playlists.Members.getContentUri referring to?

查看:292
本文介绍了什么是MediaStore.Audio.Playlists.Members.getContentUri指的是字符串“卷名”的说法?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想查询一个给定的播放列表的成员。我有正确的播放列表ID,并希望使用managedQuery()来看看有问题的播放列表中的成员。

I am wanting to query the members of a given playlist. I have the correct playlist id, and want to use a managedQuery() to look at the playlist members in question.

我已经是这样的:

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, null);

我不知道是什么的体积参数必须是。我试过这样: MediaStore.Audio.Playlists.EXTERNAL_CONTENT_URI.toString()对于量的说法。

I don't know what the volume argument needs to be. I've tried this: MediaStore.Audio.Playlists.EXTERNAL_CONTENT_URI.toString() for the "volume" argument.

这使我回一个有效的内容的URI是这样的:

That gives me back a valid content URI that looks like:

content://media/external/audio/playlists/2/members

不过,我的光标回来空。我大概是大错特错 - 我知道我想要做的是非常简单的。

However, my cursor comes back null. I probably am way off base -- I know what I want to do is very simple.

推荐答案

字符串外部的作品如 MediaStore.Audio.Playlists.Members.getContentUri(音量,playlistId)卷

该活动将打印在Android的歌曲,播放列表,和它们的内容。

This activity prints the songs on an Android, and the playlists, and their contents.

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,null,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, STAR, null,null,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, STAR, null, null, 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();
    }
}

这篇关于什么是MediaStore.Audio.Playlists.Members.getContentUri指的是字符串“卷名”的说法?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆