adn*_*eal 1 java android mediastore
我有兴趣对特定类型的所有专辑进行查询.通过使用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();
}
}
}
Run Code Online (Sandbox Code Playgroud)
编辑
查询已修复以获取具有指定流派ID的所有相册
| 归档时间: |
|
| 查看次数: |
1450 次 |
| 最近记录: |