gpt4 book ai didi

java - 关于查询专辑的 Genres.Members.EXTERNAL_CONTENT_URI

转载 作者:行者123 更新时间:2023-11-29 06:40:39 25 4
gpt4 key购买 nike

我有兴趣对特定流派的所有专辑执行查询。 Android 可以使用 MediaStore.Audio.Artists.Albums.getContentUri 轻松地对特定艺术家的专辑执行类似查询,但就查询流派而言,MediaStore.Audio。 Genres.Members.getContentUri 是提供的最佳方式,但它用于从流派返回歌曲。

在执行 Genres.Members 查询然后使用 MediaStore.Audio.Genres.Members.ALBUM 后,您可以轻松返回流派的每个成员的专辑名称,返回专辑名称,但这同样只有在显示歌曲时才有用。

我是否可以进行某种选择以仅返回某个流派的专辑,或者我可以使用一个特殊的 Uri?我还没有找到任何关于此的文档,所以如果有人有任何信息,我将不胜感激。

最佳答案

给你:

    {
int genreId = 2; // << Set Your Genre ID Here
Uri uri = MediaStore.Audio.Albums.getContentUri("external");
Log.i("XXX", "uri = " + uri.toString());
Cursor cursor = null;
try {

String selection = "album_info._id IN "
+ "(SELECT (audio_meta.album_id) album_id FROM audio_meta, audio_genres_map "
+ "WHERE audio_genres_map.audio_id=audio_meta._id AND audio_genres_map.genre_id=?)";
String[] selectionArgs = new String[] { String.valueOf(genreId) };
String[] proj = { AlbumColumns.ALBUM };
cursor = getContentResolver().query(uri, proj, selection,
selectionArgs, null);
if (null != cursor) {
Log.i("XXX", "cursor rows count = " + cursor.getCount());
while (cursor.moveToNext()) {
Log.i("XXX", " Album: " + cursor.getString(0));
}
cursor.close();
Log.i("XXX", "cursor closed");
}
} catch (Exception ex) {
Log.e("XXX", "Error Querying Database");
} finally {
if (cursor != null) {
cursor.close();
}
}
}

编辑
修复查询以获取具有指定流派 ID 的所有专辑

关于java - 关于查询专辑的 Genres.Members.EXTERNAL_CONTENT_URI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12724736/

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