如何检查专辑封面是否存在?

时间:2018-09-16 19:33:35

标签: java android imageview uri android-bitmap

我有一个图像视图 mAlbumArtLarge ,它显示了歌曲的专辑封面,但是如何查看专辑封面是否不存在以及专辑封面是否不存在,则显示了列表中的其中一张图像。

我的代码:

private void loadAlbumArt(){

    Uri sArtworkUri = Uri.parse("content://media/external/audio/albumart");
    Uri albumArtUri = ContentUris.withAppendedId(sArtworkUri, songList.get(songIndex).getAlbumID());

    int[] myImageList = new int[]{R.drawable.image1, R.drawable.image2, R.drawable.image3,
            R.drawable.image4, R.drawable.image5, R.drawable.image6, R.drawable.image7 };

    Random random = new Random();
    int randomNumber = random.nextInt(myImageList.length);

        try {

            InputStream inputStream = getContentResolver().openInputStream(albumArtUri);

            //Get the bitmap from the ImageView.
            Bitmap image = BitmapFactory.decodeStream(inputStream);

            //Let's apply Gaussian blur effect with radius "10.5" and set to ImageView.
            mAlbumArtLarge.setImageBitmap(new BlurUtil().blur(MainActivity.this, image, 10.5f));

        } catch (FileNotFoundException e) {
            e.printStackTrace();
            Toast.makeText(this, "Unable to find album art", Toast.LENGTH_LONG).show();
        }
}

显示模糊的专辑封面是可行的,但是如果没有专辑封面,我想显示myImageList中的随机图像。

我该怎么做?

谢谢

1 个答案:

答案 0 :(得分:0)

尝试先获取歌曲的ID。根据您的代码,我无法确定您的数据songList及其索引的结构。但是,如果返回整数,则使用此

    int id = songList.get(songIndex).getAlbumID();
if (id != null && id > 0)
{
Uri albumArtUri = ContentUris.withAppendedId(sArtworkUri, songList.get(songIndex).getAlbumID());
}