从MPMediaItemCollection获取歌曲名称

时间:2015-02-19 14:32:36

标签: swift mpmediaitemcollection

我正在尝试将我的旧播放器从Objective-C重写为Swift(通过内存)并遇到麻烦。我有这样的歌曲

let query = MPMediaQuery.songsQuery()
query.groupingType = MPMediaGrouping.Title
songsArray = query.collections

接下来在我的表视图中,我试图获取要放在cell.textLabel中的每个媒体项的名称。像这样:

var mediaItem = songsArray.objectAtIndex(indexPath.row)
var title = mediaItem.valueForProperty(MPMediaItemPropertyTitle)

但是我没有得到MPMediaItems,我正在收集物品。那么如何从MPMediaItemCollections数组中获取MPMediaItem并获得标题?

1 个答案:

答案 0 :(得分:2)

如果您想使用媒体项的集合分组并获取有关其中的曲目组的信息,您可以通过MPMediaItemCollection的representativeItem属性访问代表集合内容的MPMediaItem。

let collection = songsArray.objectAtIndex(indexPath.row) as! MPMediaItemCollection
let representativeItem = collection.representativeItem
let title = representativeItem.title

旁注,如果您更愿意处理一系列MPMediaItem,您可能需要考虑使用MPMediaQuery的items属性而不是collections属性。