我有一个问题:我实现了一个android项目,当我按下一个按钮时播放一首歌。它还在另一个视图(应用程序有两个片段)中显示mp3文件的元数据。我的意思是,对于元数据,解释器的名称,歌曲封面……我在原始目录中只有一个mp3文件。但是,当我将另一个mp3文件放入raw目录时(仅在不更改代码的情况下),元信息突然消失。结果为空。这些不再显示。当我删除一个mp3文件时,它再次显示元数据。能告诉我为什么我不能在原始目录下再放一个mp3文件吗?我不明白。:(我没有更改代码,只是添加了另一个mp3文件。这样就行不通了。
我该如何修复它?提前感谢
尝试在AsyncTask中加载它们:
private class LoadImageTask extends AsyncTask<String, Void, Bitmap>{
private ImageView artImage;
public LoadImageTask(ImageView image){
artImage = image;
}
@Override
protected void onPreExecute() {
retriever = new MediaMetadataRetriever();
}
@Override
protected Bitmap doInBackground(String... params) {
retriever.setDataSource(params[0]);
byte[] art = retriever.getEmbeddedPicture();
Bitmap bitmap = null;
if( art != null ){
bitmap = BitmapFactory.decodeByteArray(art, 0, art.length);
}
return bitmap;
}
@Override
protected void onPostExecute(Bitmap bm) {
if( bm != null ){
artImage.setImageBitmap(bm);
}
else{
artImage.setImageResource(R.drawable.no_image);
}
}
}