gpt4 book ai didi

android - MediaStore.Audio.Playlists.Members.getContentUri 的 String 'volumeName' 参数指的是什么?

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:07:53 27 4
gpt4 key购买 nike

我想查询给定播放列表的成员。我有正确的播放列表 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, null);

我不知道 volume 参数需要是什么。我试过这个:MediaStore.Audio.Playlists.EXTERNAL_CONTENT_URI.toString() 用于“音量”参数。

这会返回一个有效的内容 URI,如下所示:

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

但是,我的光标返回为空。我可能离题太远了——我知道我想做的很简单。

最佳答案

字符串“external”在 MediaStore.Audio.Playlists.Members.getContentUri(volume, playlistId) 中用作音量

此 Activity 打印 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,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();
}
}

关于android - MediaStore.Audio.Playlists.Members.getContentUri 的 String 'volumeName' 参数指的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2627330/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com