2009-09-07 50 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创建自己的自定义和更复杂的结果集的歌曲和视频。

相关问题