从 MPMediaItemCollection 获取歌曲名称
Get song title from MPMediaItemCollection
我正在尝试将我的旧播放器从 Objective-C 重写为 Swift(凭记忆),但遇到了麻烦。我有很多这样的歌曲
let query = MPMediaQuery.songsQuery()
query.groupingType = MPMediaGrouping.Title
songsArray = query.collections
下一步,在我的 table 视图中,我试图获取要放入 cell.textLabel
中的每个媒体项目的名称。像这样:
var mediaItem = songsArray.objectAtIndex(indexPath.row)
var title = mediaItem.valueForProperty(MPMediaItemPropertyTitle)
但我没有得到 MPMediaItems,我得到了 collection 个项目。那么如何从 MPMediaItemCollections 数组中获取 MPMediaItem 并获取标题呢?
如果您想使用媒体项的集合分组并获取有关其中的曲目组的信息,您可以通过 MPMediaItemCollection 的 representativeItem
[=18] 访问代表集合内容的 MPMediaItem =].
let collection = songsArray.objectAtIndex(indexPath.row) as! MPMediaItemCollection
let representativeItem = collection.representativeItem
let title = representativeItem.title
旁注,如果您更愿意处理一组 MPMediaItems,您可能需要考虑使用 MPMediaQuery 的 items
属性 而不是它的 collections
属性 .
我正在尝试将我的旧播放器从 Objective-C 重写为 Swift(凭记忆),但遇到了麻烦。我有很多这样的歌曲
let query = MPMediaQuery.songsQuery()
query.groupingType = MPMediaGrouping.Title
songsArray = query.collections
下一步,在我的 table 视图中,我试图获取要放入 cell.textLabel
中的每个媒体项目的名称。像这样:
var mediaItem = songsArray.objectAtIndex(indexPath.row)
var title = mediaItem.valueForProperty(MPMediaItemPropertyTitle)
但我没有得到 MPMediaItems,我得到了 collection 个项目。那么如何从 MPMediaItemCollections 数组中获取 MPMediaItem 并获取标题呢?
如果您想使用媒体项的集合分组并获取有关其中的曲目组的信息,您可以通过 MPMediaItemCollection 的 representativeItem
[=18] 访问代表集合内容的 MPMediaItem =].
let collection = songsArray.objectAtIndex(indexPath.row) as! MPMediaItemCollection
let representativeItem = collection.representativeItem
let title = representativeItem.title
旁注,如果您更愿意处理一组 MPMediaItems,您可能需要考虑使用 MPMediaQuery 的 items
属性 而不是它的 collections
属性 .