0

古いプレーヤーを 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 を取得していません。アイテムのコレクションを取得しています。では、MPMediaItemCollection の配列から MPMediaItem を取得してタイトルを取得するにはどうすればよいでしょうか。

4

1 に答える 1

3

representativeItemメディア アイテムのコレクションのグループ化を使用して、その中のトラックのグループに関する情報を取得する場合は、MPMediaItemCollection のプロパティを通じて、コレクションのコンテンツを表す MPMediaItem にアクセスできます。

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

余談ですが、MPMediaItem の配列を扱いたい場合itemsは、そのプロパティではなく MPMediaQuery のプロパティを使用することを検討してくださいcollections

于 2015-02-19T14:54:36.323 に答える