【问题标题】:get the image with the audio file获取带有音频文件的图像
【发布时间】:2013-03-12 00:39:19
【问题描述】:

我要播放媒体文件,我得到了大部分音频文件的内容。我想要媒体文件的图像。我正在使用以下代码片段来获取音频文件内容。我无法使用媒体文件获取图像。所以请帮助我获取音频文件专辑图像。

String[] proj = { MediaStore.Audio.Media._ID,
                          MediaStore.Audio.Media.DATA,
                          MediaStore.Audio.Media.DISPLAY_NAME,
                          MediaStore.Audio.Media.SIZE,
                          MediaStore.Audio.Media.TITLE,
                          MediaStore.Audio.Media.ARTIST,
                          MediaStore.Audio.Media.COMPOSER,
                          MediaStore.Audio.Media.DURATION                              

                         };

【问题讨论】:

    标签: android media-player media


    【解决方案1】:

    在这里我可以附加一个功能,即从媒体商店返回专辑封面。在函数中,我们只需传递从媒体商店获得的专辑 ID。

     public Bitmap getAlbumart(Long album_id) 
     {
        Bitmap bm = null;
        try 
        {
            final Uri sArtworkUri = Uri
                .parse("content://media/external/audio/albumart");
    
            Uri uri = ContentUris.withAppendedId(sArtworkUri, album_id);
    
            ParcelFileDescriptor pfd = context.getContentResolver()
                .openFileDescriptor(uri, "r");
    
            if (pfd != null) 
            {
                FileDescriptor fd = pfd.getFileDescriptor();
                bm = BitmapFactory.decodeFileDescriptor(fd);
            }
    } catch (Exception e) {
    }
    return bm;
    }
    

    【讨论】:

    • int albumId = cur.getColumnIndex(MediaStore.Audio.Media.ALBUM_ID);
    • "content://media/external/audio/albumart" 看起来是硬编码的。有什么方法可以使用 MediaStore.Audio.Albums.XXXXX 获得这个? :)
    猜你喜欢
    • 1970-01-01
    • 2014-02-19
    • 2022-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-03
    • 2012-12-12
    • 1970-01-01
    相关资源
    最近更新 更多