在iPhone中使用我的应用程序访问音频或视频文件

时间:2009-09-07 09:10:46

标签: iphone objective-c

我希望借助我的应用程序列出存储在iPhone中的所有音频或视频文件。我知道mp3存储在“var / mobile / media / iTune_control / music”这条路径中。但是,当我使用此路径运行我的应用程序时,它显示此路径中没有文件。我认为某些路径是写保护的。有没有办法找到视频或音频的路径,并创建其列表。请帮我解决这个问题。

2 个答案:

答案 0 :(得分: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创建自己的自定义和更复杂的歌曲和视频结果集。

答案 1 :(得分:1)

查看MPMediaPlayer类。

Apple不喜欢你搞乱实际的歌曲文件。我们的想法是,如果您能抓住歌曲文件,那么您就可以更轻松地与朋友分享。因此,您可以浏览MPMediaPlayer课程并获取列表和播放歌曲,但无法访问实际的歌曲文件。