从iTunes购买的MPMediaItem没有艺术品

3

我正在开发一个iOS媒体播放器,使用的是iPodMusicPlayer。我有一个带有MPMediaPickerController选择器的UITableView。

在从iTunes商店购买歌曲后,选择的曲目在iPodMusicPlayer中没有艺术品:

MPMediaPlayer* player = [MPMediaPlayer iPodMusicPlayer];
MPMediaItem*item = [player nowPlayingItem];
MPMediaItemArtwork *artwork = [item valueForProperty:MPMediaItemPropertyArtwork];
UIImage *albumCoverArt = [artwork imageWithSize:CGSizeMake(100.0f, 100.0f)];
if(albumCoverArt!=nil) {
   // do something
}
else {
  // nil before sync
}

iTunes同步后,歌曲会显示艺术封面。

在同步之前,iPod播放器就已经显示了艺术封面,我认为在请求MPMediaLibrary项目时,代码中缺少了一些东西。

有什么想法吗?


这个问题似乎在iOS 5.0中已经修复。我进行了测试,现在购买一首曲目并返回到您的应用程序后,艺术品将会显示出来。 - loretoparisi
1个回答

1

我遇到了同样的问题。

似乎当你直接在iPhone上从iTunes商店购买歌曲时,检索艺术品会给你一个空白图像。

通过将手机与iTunes同步,解决了这个问题,然后你将从MPMediaItemArtwork得到正确的图像。

当然,在从iTunes购买后立即期望正确的图像是可以理解的。


你说得对。此外,如果你从iPod播放器中播放那首歌曲,你会在iPod播放器中看到艺术品。因此,在同步后立即拥有该MPMediaItem的正确艺术品对我来说似乎很奇怪。 - loretoparisi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接