gpt4 book ai didi

ios - 如何从 MPMediaItemCollection 获取艺术品

转载 作者:搜寻专家 更新时间:2023-10-31 22:20:30 25 4
gpt4 key购买 nike

我的目标是获取 iPod 库中播放列表的封面图片。我做了类似的事情

 playlistMediaItemCollections = MPMediaQuery.playlistsQuery().collections ?? []
let artworks = playlistMediaItemCollections.map { $0.valueForKey(MPMediaItemPropertyArtwork) as? MPMediaItemArtwork }

但它会导致错误

 Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<MPConcreteMediaPlaylist 0x1468b1eb0> valueForUndefinedKey:]: this class is not key value coding-compliant for the key artwork.'

有人知道我怎样才能得到播放列表的插图吗?谢谢

最佳答案

你应该使用 valueForProperty相反:

$0.valueForProperty(MPMediaItemPropertyArtwork) as? MPMediaItemArtwork

但是,我认为与歌曲或专辑不同,MediaPlayer API 不提供让您检索播放列表插图的属性键。您可以查看可能的ones可以与 MPMediaPlaylist 类一起使用:

let MPMediaPlaylistPropertyPersistentID: String
let MPMediaPlaylistPropertyName: String
let MPMediaPlaylistPropertyPlaylistAttributes: String
let MPMediaPlaylistPropertySeedItems: String

另一种方法是,您可以获取播放列表中歌曲的艺术作品,并显示其中之一或将它们组合起来为播放列表创建新的艺术作品。

如果播放列表没有艺术作品图像,我认为音乐应用会像下面那样做同样的事情。

enter image description here

let playlist = MPMediaQuery.playlistsQuery().collections?.first
let artworks = playlist?.items.map { $0.valueForProperty(MPMediaItemPropertyArtwork) as? MPMediaItemArtwork }

关于ios - 如何从 MPMediaItemCollection 获取艺术品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39284573/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com