我正在尝试获取 MP3 文件的专辑封面。我认为最好和最干净的方法是使用 MediaMetadataRetriever 类。但是由于某种原因调用 getEmbeddedPicture 方法不起作用。图像未显示,LogCat 显示错误:
04-29 18:36:19.520: E/MediaMetadataRetrieverJNI(25661): getEmbeddedPicture: Call to getEmbeddedPicture failed.
这是似乎不起作用的代码:
@Override
protected Void doInBackground(Void... params) {
// TODO Auto-generated method stub
MediaMetadataRetriever mmdr = new MediaMetadataRetriever();
mmdr.setDataSource(path); //path of the MP3 file on SD Card
bites = mmdr.getEmbeddedPicture();
if(bites != null)
artBM = BitmapFactory.decodeByteArray(bites, 0, bites.length);
return null;
}
我在装有 Android 4.2 的设备上运行它,所以 MediaMetadataRetriever 应该没有任何问题(需要 api lvl 10)。我测试的文件在 Windows 资源管理器中显示图像,因此似乎嵌入了艺术。有人对此有任何想法吗?