2010-10-11 98 views
10

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

回答

14

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

  1. 创建MPMediaQuery到从iPod库中检索一个或多个MPMediaItem对象。
  2. 要求这些媒体项目的网址为-[MPMediaItem valueForProperty: MPMediaItemPropertyAssetURL]。从网址创建AVURLAsset
  3. 为资产创建AVAssetReader的实例。
  4. 创建一个或多个AVAssetReaderTrackOutput(资产的每个轨道一个)实例,并将它们添加到-[AVAssetReader addOutput:]的资产读取器。
  5. 致电-[AVAssetReader startReading]
  6. 对于您的每个AVAssetReaderTrackOutput对象,请致电-copyNextSampleBuffer,直到您阅读完所有数据。

有关详细信息,请参阅所有这些类的文档。

+0

你会提供示例代码吗?请或参考 – 2017-12-07 14:14:30