Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用Glide Library加载音频/音乐文件封面艺术_Java_Android_Audio_Android Glide - Fatal编程技术网

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

Java 使用Glide Library加载音频/音乐文件封面艺术,java,android,audio,android-glide,Java,Android,Audio,Android Glide,我想加载设备内部存储器中的音频/音乐文件的封面艺术 我只有文件的路径 这就是我到现在为止一直在尝试的- 我已经提到了这一点,说明了解决方案 但我不知道如何准确地创建一个新模块,因为我可以从网上收集到的信息是,我们必须先注册模块,然后再使用它们 任何人谁可以指导我如何注册模块,然后加载封面艺术将真的很有帮助 此外,我也尝试加载封面艺术的正常方式一样,但它不加载封面艺术 GlideApp .with(myFragment) .load(url) .centerCrop()

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

我只有文件的路径

这就是我到现在为止一直在尝试的-

我已经提到了这一点,说明了解决方案

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

任何人谁可以指导我如何注册模块,然后加载封面艺术将真的很有帮助

此外,我也尝试加载封面艺术的正常方式一样,但它不加载封面艺术

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();
        }
    }

如果这是您正在使用的路径:

/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();
        }
    }

可能是@NileshDeokar的副本很抱歉反应太晚。我只有音频文件的路径。你能帮个忙吗?可能是@NileshDeokar的复制品对不起,反应太晚了。我只有音频文件的路径。你能帮个忙吗。