Медиаплеер нет обложки обложек альбомов
Я использую среду медиаплеера, чтобы получить обложку песни, которая воспроизводится в данный момент, но каждый раз, когда воспроизводится песня без обложки альбома, 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", что сработало для меня. Это не сработало, когда у меня была "Масштаб для заполнения".