获取iPod音轨的音乐数据

时间:2010-10-11 10:12:16

标签: iphone objective-c ios4 ipod

如何获取iPod音轨的内容(原始/样本数据)?我见过像“铃声设计师”和iMovie这样的应用程序可以做到这一点,但我不知道他们使用哪种API或他们做了什么。我可以想象iMovie使用私有api,但“铃声设计器”是第三方应用程序,所以必须有公共api功能。

1 个答案:

答案 0 :(得分:14)

我自己没有这样做,但根据文档,这些是步骤(大致):

  1. 创建MPMediaQuery以从iP​​od库中检索一个或多个MPMediaItem个对象。
  2. 使用-[MPMediaItem valueForProperty: MPMediaItemPropertyAssetURL]向这些媒体项目询问其网址。
  3. 从网址创建AVURLAsset
  4. 为资产创建AVAssetReader的实例。
  5. 创建AVAssetReaderTrackOutput的一个或多个实例(每个资产跟踪一个),并使用-[AVAssetReader addOutput:]将其添加到资产阅读器。
  6. 致电-[AVAssetReader startReading]
  7. 为您的每个-copyNextSampleBuffer对象致电AVAssetReaderTrackOutput,直至您阅读完所有数据。
  8. 有关详细信息,请参阅所有这些类的文档。