2009-09-07 12 views
0

我想在我的應用程序的幫助下列出存儲在iPhone中的所有音頻或視頻文件。我知道mp3存儲在「var/mobile/media/iTune_control/music」這條路上。但是,當我使用此路徑運行我的應用程序時,它顯示此路徑中沒有文件。我認爲某些路徑是寫保護的。是否有任何方法可以找到視頻或音頻的路徑並創建其列表。請幫我解決這個問題。通過使用我的應用程序在iPhone中訪問音頻或視頻文件

回答

1

看看MPMediaPlayer類。

蘋果不喜歡你搞亂實際的歌曲文件。想法是,如果你可以抓住歌曲文件,那麼你就可以更容易地與朋友分享。因此,您可以瀏覽MPMediaPlayer類並獲取列表並播放歌曲,但無法訪問實際的歌曲文件。

+0

因此,像traktor dj這樣的應用程序如何能夠在空中編輯音樂? – alizx 2014-10-18 08:57:23

+0

自2009年以來,情況發生了變化。請參閱AVAssetReader:https://developer.apple.com/LIBRARY/IOS/documentation/AVFoundation/Reference/AVAssetReader_Class/index.html – mahboudz 2014-10-18 10:40:54

3

您不應該對文件系統佈局做出假設,也不應該在應用程序自己的沙箱外訪問文件系統。因此,如果您使用NSSearchPathForDirectoriesInDomains()找不到目錄,那麼您不應該訪問它。

訪問音樂庫時,您根本不應使用文件系統,而應使用Media Player框架。枚舉所有可用歌曲最簡單的方法是這樣的:

for (MPMediaItem* item in [MPMediaQuery songsQuery].items) { 
    NSString* title = [item valueForProperty:MPMediaItemPropertyTitle]; 
    NSString* artist = [item valueForProperty:MPMediaItemPropertyArtist]; 
    NSLog(@"%@ by %@", title, artist); 
} 

使用MPMediaQueryMPMediaPredicate創建自己的自定義和更復雜的結果集的歌曲和視頻。

相關問題