Вопрос

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

Это было полезно?

Решение

Вот как я использую заполнитель для песен, у которых нет произведений искусства:

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top