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的复制品对不起,反应太晚了。我只有音频文件的路径。你能帮个忙吗。