Android 如何在列表视图中显示唱片集艺术、歌曲名称、持续时间和艺术家名称
你好,我想制作一个android音乐应用程序,我想我的listView显示所有歌曲,以显示该歌曲的专辑艺术、艺术家名称、持续时间和歌曲名称 我已成功在listview中显示所有歌曲,但无法显示唱片集艺术等 有人能帮我吗Android 如何在列表视图中显示唱片集艺术、歌曲名称、持续时间和艺术家名称,android,listview,android-listview,title,albumart,Android,Listview,Android Listview,Title,Albumart,你好,我想制作一个android音乐应用程序,我想我的listView显示所有歌曲,以显示该歌曲的专辑艺术、艺术家名称、持续时间和歌曲名称 我已成功在listview中显示所有歌曲,但无法显示唱片集艺术等 有人能帮我吗 提前感谢您可以为此使用内容提供商 希望此代码可以帮助您启动 final Cursor mCursor = getContentResolver().query( MediaStore.Audio.Media.EXTERNAL_CONTENT_URI
提前感谢您可以为此使用内容提供商 希望此代码可以帮助您启动
final Cursor mCursor = getContentResolver().query(
MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
new String[] { MediaStore.Audio.Media.DISPLAY_NAME,
MediaStore.Audio.Media.DATA,
MediaStore.Audio.Media.ARTIST,
MediaStore.Audio.Media.ALBUM_ID }, null, null,
"LOWER(" + MediaStore.Audio.Media.TITLE + ") ASC");
int count = mCursor.getCount();
String[] songs = new String[count];
if (mCursor.moveToFirst()) {
do {
String songname = mCursor
.getString(mCursor
.getColumnIndexOrThrow(MediaStore.Audio.Media.DISPLAY_NAME));
String sonpath = mCursor.getString(mCursor
.getColumnIndexOrThrow(MediaStore.Audio.Media.DATA));
String artistname = mCursor.getString(mCursor
.getColumnIndexOrThrow(MediaStore.Audio.Media.ARTIST));
String albumid = mCursor
.getString(mCursor
.getColumnIndexOrThrow(MediaStore.Audio.Media.ALBUM_ID));
} while (mCursor.moveToNext());
Constant.sdCardmusic = allsongs;
}
mCursor.close();
}
如果要获取相册图片,则可以将从上述代码获取的相册id传递到以下方法:
private Bitmap getArtistImage(String albumid) {
Bitmap artwork = null;
try {
Uri sArtworkUri = Uri
.parse("content://media/external/audio/albumart");
Uri uri = ContentUris.withAppendedId(sArtworkUri,
Long.valueOf(albumid));
ContentResolver res = mContext.getContentResolver();
InputStream in = res.openInputStream(uri);
artwork = BitmapFactory.decodeStream(in);
} catch (Exception e) {
Log.e("Exception", e.toString());
}
return artwork;
}
谷歌在Github上有一个很好的手机、chromecast和AUTO音乐播放器的例子有一个完整的工作示例可供学习参考吗