【问题标题】:In iOS, can I access the iTunes song list?在 iOS 中,我可以访问 iTunes 歌曲列表吗?
【发布时间】:2012-03-29 01:47:07
【问题描述】:

我正在寻找一种以编程方式(,而不是通过 UI)从我的 iOS 应用程序访问用户 iTunes 音乐库的方法。

(是的,我知道 Apple 不鼓励替代 iPod 接口应用程序。这不是问题 :)

我想做的是:

  • 收集歌曲名称列表。
  • 让我的应用对它们进行字谜。
  • 让用户猜出原曲名。
  • 如果他们猜对了,我会播放这首歌的 sn-p。

(这不是我真正的应用程序,但它包含我需要的所有部分。)我要询问的部分是:如何获取歌曲名称列表,以及给定歌曲名称,如何获取媒体玩吗?

我认为 AVAssetReader 可以让我播放一首歌曲,一旦我有了它的名字,我就可以自己查找它(不过,那里的指针可以加分!)——所以底线问题是: 如何从 iOS 用户的 iTunes 库中获取歌曲名称列表?

【问题讨论】:

    标签: ios itunes


    【解决方案1】:

    您需要使用 MPMediaQuery 来获取所有歌曲的 NSArray。查看this 链接。

    要播放歌曲,我建议使用 AVPlayer。

    【讨论】:

      【解决方案2】:

      Check out the docs,尤其是标题为“以编程方式获取媒体项目”的部分。

      如果媒体项目选择器没有提供您想要的控制,您可以 使用此 API 中的数据库访问类。这些类是 旨在让您创建任意复杂的查询。你可以,因为 例如,检索特定类型的所有歌曲,其标题 包含特定的单词或短语。

      使用编程访问是一个两步过程:

      配置查询。要求查询检索其匹配的媒体项。 媒体查询是对从设备检索的内容的描述 iPod 库以及应如何排列这些检索到的项目。它有 要配置的两个属性:

      过滤器是对要检索的内容的描述。过滤器是 可选的;无过滤查询匹配整个 iPod 库。这 分组类型是一个可选键,指定要使用的排列 用于检索的媒体项目集合。再放大一点, 过滤器可以根据您的应用程序需求简单或复杂。它 由一个或多个媒体属性谓词的实例组成。一个 媒体属性谓词是要测试的逻辑条件的陈述 每个媒体项目反对。满足过滤器的项目是 调用查询时从 iPod 库中检索。

      可选的分组类型指定排列和排序 集合以及每个内的媒体项目的排序 收藏。例如,使用“专辑”分组类型会导致 返回按专辑分组的媒体项目,每张专辑的歌曲都已排序 按曲目顺序。

      【讨论】:

      • 链接已断开。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-20
      相关资源
      最近更新 更多