如何通过 url 从服务器的音频文件中获取专辑封面 (Glide)
How to get album art from audio file from server by url (Glide)
我需要通过 url 获取音频文件的缩略图。
我找到了如何对内存中的文件执行此操作。
但是我如何通过 URL 为远程音频文件做到这一点?我有 URL 个文件,我可以得到文件的 byte[]。
对于远程图像我是这样做的:
内容来自服务器byte[]
。
bitmap = Glide
.with(context)
.asBitmap()
.load(content)
.submit(size.getWidth(), size.getHeight())
.get();
我没有找到如何在 Glide 的帮助下完成它。
我用这个做到了:
Bitmap bitmap = null;
MediaMetadataRetriever mediaMetadataRetriever = null;
byte[] data;
try {
mediaMetadataRetriever = new MediaMetadataRetriever();
mediaMetadataRetriever.setDataSource(url.toString(), new HashMap<String, String>());
data = mediaMetadataRetriever.getEmbeddedPicture();
if (data != null) {
bitmap = BitmapFactory.decodeByteArray(data, 0, data.length);
}
} catch (Exception e) {
Log.e(TAG, " ", e);
} finally {
if (mediaMetadataRetriever != null) {
mediaMetadataRetriever.release();
}
}
return bitmap;
}
我需要通过 url 获取音频文件的缩略图。
我找到了如何对内存中的文件执行此操作。
但是我如何通过 URL 为远程音频文件做到这一点?我有 URL 个文件,我可以得到文件的 byte[]。
对于远程图像我是这样做的:
内容来自服务器byte[]
。
bitmap = Glide
.with(context)
.asBitmap()
.load(content)
.submit(size.getWidth(), size.getHeight())
.get();
我没有找到如何在 Glide 的帮助下完成它。 我用这个做到了:
Bitmap bitmap = null;
MediaMetadataRetriever mediaMetadataRetriever = null;
byte[] data;
try {
mediaMetadataRetriever = new MediaMetadataRetriever();
mediaMetadataRetriever.setDataSource(url.toString(), new HashMap<String, String>());
data = mediaMetadataRetriever.getEmbeddedPicture();
if (data != null) {
bitmap = BitmapFactory.decodeByteArray(data, 0, data.length);
}
} catch (Exception e) {
Log.e(TAG, " ", e);
} finally {
if (mediaMetadataRetriever != null) {
mediaMetadataRetriever.release();
}
}
return bitmap;
}