MediaPlayer no альбом Artwork Placeholder
-
26-10-2019 - |
Вопрос
Я использую 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 установлен на «аспект подгонки», что сработало для меня. Это не сработало, когда у меня было «масштаб, чтобы заполнить».