Медиаплеер нет обложки обложек альбомов

Я использую среду медиаплеера, чтобы получить обложку песни, которая воспроизводится в данный момент, но каждый раз, когда воспроизводится песня без обложки альбома, UIImageView, в который я загружаю обложку, пуст. Есть ли способ, чтобы изображение-заполнитель отображалось каждый раз, когда воспроизводится песня без обложки?

3 ответа

Решение

Вот как я использую заполнитель для песен, которые не имеют обложки:

artworkImageView = [[UIImageView alloc] initWithFrame:CGRectMake(x,y,160,160)];

CGSize artworkImageViewSize = artworkImageView.bounds.size;
artwork = [currentItem valueForProperty:MPMediaItemPropertyArtwork];
if (artwork != nil) {
    artworkImageView.image = [artwork imageWithSize:artworkImageViewSize];
}else{
    artworkImageView.image = [UIImage imageNamed:@"NoAlbumArt.png"];
}

Я столкнулся с той же проблемой... в принципе, она прекрасно работает на симуляторе, но не на реальном устройстве... вместо этого я сделал следующее:

artworkImageView = [[UIImageView alloc] initWithFrame:CGRectMake(x,y,160,160)];
CGSize artworkImageViewSize = artworkImageView.bounds.size;
artwork = [currentItem valueForProperty:MPMediaItemPropertyArtwork];
if (artwork != nil) {
     artworkImageView.image = [artwork imageWithSize:artworkImageViewSize];
     if(artworkImageView.image == NULL){
          artworkImageView.image = [UIImage imageNamed:@"NoAlbumArt.png"];
     }
}

и это, казалось, решило проблему, так что она работает как на симуляторе, так и на реальном устройстве

Прежде чем вносить изменения, пожалуйста, убедитесь, что для UIImageView установлено значение "Aspect Fit", что сработало для меня. Это не сработало, когда у меня была "Масштаб для заполнения".

Другие вопросы по тегам