アプリケーションバンドルの外部にあるファイルにアクセスするには、アプリケーションに関連付けられたドキュメントフォルダ内にあるだけです。ここで
は、ドキュメントフォルダ(のObjective-C++でのIコード)あなたの場合
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;
}
でファイルをfopeningための一例である、あなたのアプリケーションが付属して音はアプリケーションバンドルでなければならず、ユーザーが後で追加するサウンドは、ドキュメントフォルダに配置する必要があります。
私はアプリの外のファイルに書き込むことができますが、それらを読むことはできますか?だから、もし私が何かを録音して特別なフォルダに入れることができたら、私はiPhoneアプリを起動し、私のアプリ用のサウンドファイルをロードしたいと言います。別のフォルダを使用して、これらのファイルを読み取ることはできますか? – wlindner
はい。あなたは間違いなくそれを行うことができます。ボイスメッセージを録音してiPhoneのファイルシステムに保存し、いくつかのAPIを使って再生することができます。 –
私は特別な別のフォルダに記録したくない場合はどうでしょうか。 iPhoneのハードドライブに手動でサウンドファイルを入れたフォルダを持っていれば、iPhoneアプリはそのフォルダを常に見て、iPhoneアプリでそれらのファイルを使用することができます。 – wlindner