Android 如何在列表视图中显示唱片集艺术、歌曲名称、持续时间和艺术家名称

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

你好,我想制作一个android音乐应用程序,我想我的listView显示所有歌曲,以显示该歌曲的专辑艺术、艺术家名称、持续时间和歌曲名称

我已成功在listview中显示所有歌曲,但无法显示唱片集艺术等

有人能帮我吗


提前感谢

您可以为此使用内容提供商

希望此代码可以帮助您启动

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音乐播放器的例子

有一个完整的工作示例可供学习参考吗