Mediaplayer没有专辑插图占位符

时间:2011-09-06 02:18:56

标签: objective-c ios media-player itunesartwork

我正在使用媒体播放器框架来获取当前正在播放的歌曲的艺术作品,但每次播放没有专辑封面的歌曲时,我加载艺术品的UIImageView都是空的。有没有办法在每次播放没有艺术作品的歌曲时显示占位符图像?

3 个答案:

答案 0 :(得分:2)

我遇到了同样的问题...基本上它在模拟器上完美运行但在实际设备上却没有...而是我做了以下事情:

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"];
     }
}

这似乎解决了这个问题,因此它适用于模拟器和实际设备

答案 1 :(得分:1)

这就是我为没有艺术品的歌曲使用占位符的方法:

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"];
}

答案 2 :(得分:0)

在进行更改之前,请确保将UIImageView设置为“Aspect Fit”,这对我有用。当我有“缩放填充”时,它不起作用。