在iPhone应用程序中存储媒体文件的位置

时间:2009-03-23 13:39:35

标签: iphone audio media

我是编写iPhone应用程序的新手,但我有一个想法。唯一的问题是我想写的应用程序需要大量非常小的声音文件。我想在应用程序中组织文件夹层次结构中的所有内容,但允许用户稍后添加更多声音,可能来自音乐集合或其他内容。基本上,用户需要能够添加声音文件,但我看到在应用程序中有声音文件的唯一方法是它们是否在二进制应用程序中。

是否有人熟悉设置可从iPhone应用程序外部访问声音或媒体文件的iPhone应用程序?

3 个答案:

答案 0 :(得分:4)

可以从应用包外部访问文件,它只需位于与您的应用相关联的文档文件夹中。

以下是在文档文件夹中打开文件的示例(我在Objective-C ++中的代码)

FILE *fopenForDocument(std::string fileName, const char *mode) {
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    std::string s=[documentsDirectory cStringUsingEncoding:NSASCIIStringEncoding];
    s+="/"+fileName;
    FILE *file = fopen(s.c_str(),mode);
    if (file==NULL) {
        //LOG("failed to open file %s",fileName.c_str());
    }
    //LOG(s.c_str());
    return file;
}

在您的情况下,应用程序附带的声音必须位于应用程序包中,用户稍后添加的声音必须位于文档文件夹中。

答案 1 :(得分:2)

你绝对可以做到。开始阅读this文档以熟悉iPhone的音频和视频API。

您可以将各种文件写入手机的文件系统,以便以后存储声音文件。

答案 2 :(得分:-1)

您无法访问iphone应用文件夹以外的文件。