我正在寻找一种以编程方式(即不通过UI)从我的iOS应用程序访问用户iTunes音乐库的方法.
(是的,我知道Apple不鼓励使用其他iPod接口应用程序.这不是问题:)
我想做的是:
- 收集歌曲名称列表.
- 让我的应用程序制作一个字谜.
- 让用户猜出原始歌曲名称.
- 如果他们猜对了,我会播放这首歌的片段.
(这不是我真正的应用程序,但它包含了我需要的所有部分.)我要问的部分是:如何获取歌曲名称列表,并给出歌曲名称,如何让媒体播放它?
我认为AVAssetReader会让我播放一首歌,一旦我有它的名字,所以我可以自己查看(虽然在那里指点奖励积分!) - 所以底线问题是:如何从iOS用户的iTunes资料库中获取歌曲名称列表?
查看文档,尤其是标题为"以编程方式获取媒体项目"的部分.
如果媒体项选择器未提供所需的控件,则可以使用此API中的数据库访问类.这些类旨在让您创建任意复杂的查询.例如,您可以检索标题包含特定单词或短语的特定类型的所有歌曲.
使用程序化访问是一个两步过程:
配置查询.请求查询检索其匹配的媒体项.媒体查询是对从设备iPod库检索内容以及如何排列这些检索到的项目的描述.它有两个要配置的属性:
过滤器是要检索的内容的描述.过滤器是可选的; 无过滤查询与整个iPod库匹配.分组类型是可选键,指定用于检索的媒体项集合的排列.放大一点,过滤器可以像您的应用程序一样简单或复杂.它由媒体属性谓词的一个或多个实例组成.媒体属性谓词是用于测试每个媒体项的逻辑条件的语句.调用查询时,将从iPod库中检索满足过滤器的项目.
可选的分组类型指定集合的排列和排序以及每个集合中的媒体项的排序.例如,使用"专辑"分组类型会导致按专辑分组的返回媒体项目,每个专辑的歌曲按跟踪顺序排序.
| 归档时间: |
|
| 查看次数: |
11905 次 |
| 最近记录: |