getEmbeddedPicture:调用getEmbeddedPicture失败时,我把一个以上的mp3文件



我有一个问题:我实现了一个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);
        }
    }
}

相关内容

  • 没有找到相关文章

最新更新