2010-10-11 79 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