6

假设我有一个具有这种播放列表结构的 iOS 音乐库:

A Folder
|
---> A Playlist
     |
     ---> Song A

我运行以下代码:

import MediaPlayer

let playlists = MPMediaQuery.playlists().collections! as! [MPMediaPlaylist]
for playlist in playlists {
    let firstItemName = playlist.items.first?.title ?? "none"
    print("playlist: \(playlist.name!), first item: \"\(firstItemName)\"")
}

我得到这个控制台输出:

播放列表:播放列表,第一项:“歌曲 A”

播放列表:A 文件夹,第一项:“歌曲 A”

我查看了所有 MediaPlayer 框架文档,但找不到任何方法来通过 API 发现播放列表和文件夹之间的父/子关系(甚至无法判断一个集合包含其他集合)。我只想在用户浏览 A 文件夹后才显示 A 播放列表,而不是将它们显示为兄弟姐妹(或者甚至可能完全过滤掉 A 文件夹。

此外,文件夹和播放列表在运行时都具有相同的类:MPConcreteMediaPlaylist.

4

0 回答 0