Как проверить, присутствует ли обложка альбома? - PullRequest
0 голосов
/ 16 сентября 2018

У меня есть imageview 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 голосов
/ 16 сентября 2018

Попробуйте сначала получить идентификатор песни. Согласно вашему коду я не могу понять структуру ваших данных songList и его индекса. Но если он возвращает int, используйте это

    int id = songList.get(songIndex).getAlbumID();
if (id != null && id > 0)
{
Uri albumArtUri = ContentUris.withAppendedId(sArtworkUri, songList.get(songIndex).getAlbumID());
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...