2010-07-27 70 views
0

我需要一些幫助。 的情況是這樣的: 我可以得到的媒體文件列表(M​​P3音樂,m4as,m4vs的等)與鏈接到文件(看起來像:如何在iPhone上獲取媒體文件的ID3標籤

http://10.0.1.1/Media/Files%20Folder/File%20Itself.m4v 

所以我得到一個陣列,其中包括鏈接這些文件。

我需要用相應的標籤(流派,藝術家等),最重要的是,專輯封面(它嵌入在文件),以顯示在UITableView的這些項目。

我如何獲取這些信息?如果可能,無需加載整個媒體文件。 感謝您的任何幫助。

回答

0

您會想要使用AVURLAsset以及方法-loadValuesAsynchronouslyForKeys:completionHandler:

還要注意的是,文件說

AVAsset和其他類提供的元數據「懶洋洋地」(見AVAsynchronousKeyValueLoading),這意味着你可以從這些數組的對象,而不會產生額外開銷的項目你不這樣做,最終檢查。

所以我猜你不會遇到加載整個文件的問題。

+0

似乎它只是iOS4。我還在寫iPad版本,我猜我必須採取其他方式。謝謝你展示簡單的方法,壽。 – Yuri 2010-07-27 08:56:30

1

我寫了一個class for this

這就是所謂的metadataRetriever。它返回

  • 藝術家組成的數組,
  • 歌曲,
  • 和專輯

爲NSString的(按順序)

它的真快,是同步的安全使用。

一個警告,它不適用於.m4a's,因爲.m4a's的id3信息是不同的。