我正在 Android 上开发音乐播放器,但遇到了一个我不知道为什么的错误。我认为我做得对,但它不起作用。
我确实搜索了很多 MediaMetadataRetriever,但我仍然不明白我的问题是什么。
我使用 MediaMetadataRetriever 来获取有关我的歌曲的信息。一切正常,但 getEmbeddedPicture()。每当调用 getEmbeddedPicture 时,我都会收到此消息:
11-15 13:36:11.101:E/MediaMetadataRetrieverJNI(460):getEmbeddedPicture:调用getEmbeddedPicture失败。
我知道这个方法只在 setDataSource 调用之后调用,我做到了,但我仍然遇到那个错误(当然,我的歌曲中有图像,我使用的是 android 2.3.3)。
这是代码:
mediaInfo.setDataSource(filePath);//filePath is correct.
byte[] img = mediaInfo.getEmbeddedPicture();//cause error
if (img != null)
imgAlbum.setImageBitmap(BitmapFactory.decodeByteArray(img, 0,img.length));
谢谢。
最佳答案
以下应该工作:
MediaMetadataRetriever retriever = new MediaMetadataRetriever();
retriever.setDataSource(filePath);
byte[] art = retriever.getEmbeddedPicture();
if( art != null ){
imgAlbum.setImageBitmap( BitmapFactory.decodeByteArray(art, 0, art.length));
}
else{
imgAlbum.setImageResource(R.drawable.no_image);
}
关于Android:如何使用 MediaMetadataRetriever 获取图像?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13392747/