确定歌曲在 iOS 中是不是有专辑封面

Posted

技术标签:

【中文标题】确定歌曲在 iOS 中是不是有专辑封面【英文标题】:Determine if a song has album art in iOS确定歌曲在 iOS 中是否有专辑封面 【发布时间】:2013-12-31 00:41:43 【问题描述】:

我正在开发一个 ios 应用程序,我需要确定一首歌是否有专辑封面。我正在使用 MPMusicPlayerController 访问本机 iOS 音乐库,并且我正在使用 MPMediaItemArtwork 来捕获从 iOS 音乐库发送的艺术作品。这是我用来获取艺术品的编码:

MPMediaItemArtwork *mpArt = [mpSong valueForProperty:MPMediaItemPropertyArtwork];

为了测试艺术品是否存在,我使用这个:

if (mpArt)

    imgArt = [mpArt imageWithSize:CGSizeMake(250, 250)];

else

    imgArt = [UIImage imageNamed:@"Alternative_Artwork_Image.jpg"];

无论歌曲的艺术是什么,结果总是正确的。

任何帮助将不胜感激。提前谢谢你。

【问题讨论】:

【参考方案1】:

如果它是 iCloud 选择,我认为它总是会返回 true,因为它最终会下载。尝试寻找与MPMediaItemPropertyIsCloudItem 的相关性

您也可以尝试从边界获取信息...当找不到图像时,边界可能是 0x0。

【讨论】:

我用于测试的设备没有来自 iCloud 的任何音乐。一切都在本地和离线......但无论如何谢谢。会考虑未来的发展 你能从中得到任何其他信息吗,比如bounds 可能是 0x0 或其他东西。 感谢您的想法。能够使用边界来确定是否存在艺术品。非常感谢!!! 没问题。如果您的答案是正确的,请单击旁边的绿色复选标记将其标记为正确。

以上是关于确定歌曲在 iOS 中是不是有专辑封面的主要内容,如果未能解决你的问题,请参考以下文章

从音频文件中获取专辑封面、歌曲名称、专辑名称和艺术家姓名

确定用户在 MPMediaPickerController 中选择歌曲的位置

为 iTunes 11 中的歌曲列表着色的算法如何工作? [关闭]

将一首歌曲的封面艺术批量复制到另一首(相同的文件名)

ios在内存中保持视图

ViewPager 页面效果