繁体   English   中英

使用 Glide Library 加载音频/音乐文件封面艺术

[英]Load Audio/ Music files cover art using Glide Library

我想加载设备内部存储中存在的音频/音乐文件的封面艺术。

我只有文件的路径

这是我迄今为止尝试过的-

我已经提到了这个问题,它显示了解决方案。

但是我不知道如何准确地创建一个新模块,因为从我可以在线收集的信息来看,我们必须先注册模块然后使用它们

任何可以指导我如何注册模块然后加载封面艺术的人都会非常有帮助。

我也试过像正常方式一样加载封面艺术,但它没有加载封面艺术。

GlideApp
    .with(myFragment)
    .load(url)
    .centerCrop()
    .placeholder(R.drawable.loading_spinner)
    .into(myImageView);

如果这是您的路径:

/storage/emulated/0/Download/mysong.mp3

然后您可以使用以下功能:

public void getAudioAlbumImageContentUri(Context context, String filePath) {
        Uri audioUri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
        String selection = MediaStore.Audio.Media.DATA + "=? ";
        String[] projection = new String[] { MediaStore.Audio.Media._ID , MediaStore.Audio.Media.ALBUM_ID};

        Cursor cursor = context.getContentResolver().query(
                audioUri,
                projection,
                selection,
                new String[] { filePath }, null);

        if (cursor != null && cursor.moveToFirst()) {
            long albumId = cursor.getLong(cursor.getColumnIndex(MediaStore.Audio.Media.ALBUM_ID));
            Uri sArtworkUri = Uri.parse("content://media/external/audio/albumart");
            Uri imgUri = ContentUris.withAppendedId(sArtworkUri,
                    albumId);
            Log.d(TAG,"AudioCoverImgUri = "+ imgUri.toString());

            Glide.with(this)
                    .load(imgUri)
                    .into(((ImageView)findViewById(R.id.button)));

            cursor.close();
        }
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM