这是mp3文件标签中的图像 http://i.stack.imgur.com/HtXqA.jpg
我使用Android的MediaMetaDataRetreiver从mp3文件中获取此图像字节数组...当我尝试使用BitmapFactory.decodeByteArray解码此图像时,它返回null
帮助将得到赞赏
编辑:当我第一次用options.inJustDecodeBounds = true解码时... options.outWidth和options.outHeight返回正确的宽度和高度
完整代码:
MediaMetadataRetriever retriever = new MediaMetadataRetriever();
retriever.setDataSource(context, songUri);
byte[] data = retriever.getEmbeddedPicture();
if(data != null)
{
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
BitmapFactory.decodeByteArray(data, 0, data.length, options);
options.inSampleSize = BitmapUtils.calculateInSampleSize(options, 500, 500);
options.inJustDecodeBounds = false;
albumArtBitmap = BitmapFactory.decodeByteArray(data, 0, data.length, options);
}
答案 0 :(得分:1)
改用流:
InputStream is;
Bitmap bitmap;
is = context.getResources().openRawResource(R.drawable.someImage);
bitmap = BitmapFactory.decodeStream(is);
try {
is.close();
is = null;
} catch (IOException e) {
}
顺便说一句,我还没有尝试jpg但是假设这可能是个问题。尝试将其转换为" png"