【问题标题】:Get song title from MPMediaItemCollection从 MPMediaItemCollection 获取歌曲名称
【发布时间】:2015-02-19 14:32:36
【问题描述】:

我正在尝试将我的旧播放器从 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 并获取标题?

【问题讨论】:

    标签: swift mpmediaitemcollection


    【解决方案1】:

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

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

    旁注,如果您希望处理 MPMediaItem 数组,您可能需要考虑使用 MPMediaQuery 的 items 属性而不是其 collections 属性。

    【讨论】:

    • 我需要一种方法来对我的歌曲进行排序)所以我使用了收藏)如果你知道另一种方法 - 请告诉我
    猜你喜欢
    • 1970-01-01
    • 2016-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-03
    • 2016-05-08
    • 1970-01-01
    相关资源
    最近更新 更多