2009-03-23 22 views
4

iPhoneアプリを書くのは初めてですが、私は考えています。唯一の問題は、私が書きたいアプリが非常に小さなサウンドファイルを必要とすることです。私は、アプリケーションのフォルダの階層内のすべてを整理したいが、ユーザーが後で、おそらく音楽コレクションや何かから音を追加することができます。基本的に、ユーザーはサウンドファイルを追加できる必要がありますが、アプリケーションにサウンドファイルがあることがわかる唯一の方法は、バイナリアプリにある場合のみです。iPhoneのアプリケーションにメディアファイルを保存する場所

iPhoneアプリの外からサウンドやメディアファイルにアクセスできるiPhoneアプリの設定に慣れている人はいますか?

答えて

2

あなたは間違いなくそれを行うことができます。 thisのドキュメントを読み始めると、iPhoneのオーディオおよびビデオAPIに精通しています。

電話のファイルシステムにすべての種類のファイルを書き込んで、後でそのサウンドファイルを保存することができます。

+0

私はアプリの外のファイルに書き込むことができますが、それらを読むことはできますか?だから、もし私が何かを録音して特別なフォルダに入れることができたら、私はiPhoneアプリを起動し、私のアプリ用のサウンドファイルをロードしたいと言います。別のフォルダを使用して、これらのファイルを読み取ることはできますか? – wlindner

+0

はい。あなたは間違いなくそれを行うことができます。ボイスメッセージを録音してiPhoneのファイルシステムに保存し、いくつかのAPIを使って再生することができます。 –

+0

私は特別な別のフォルダに記録したくない場合はどうでしょうか。 iPhoneのハードドライブに手動でサウンドファイルを入れたフォルダを持っていれば、iPhoneアプリはそのフォルダを常に見て、iPhoneアプリでそれらのファイルを使用することができます。 – wlindner

-1

iphoneアプリフォルダの外にあるファイルにアクセスすることはできません。

+0

"Resources"にフォルダを設定しておけば、起動するたびにiPhoneアプリが表示されるフォルダ階層を設定することができます。私はそれはユーザーがそのフォルダを変更できないことを意味すると思います。 – wlindner

+0

あなたはあなたのアプリのフォルダで何でもできます – CiNN

4

アプリケーションバンドルの外部にあるファイルにアクセスするには、アプリケーションに関連付けられたドキュメントフォルダ内にあるだけです。ここで

は、ドキュメントフォルダ(の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ための一例である、あなたのアプリケーションが付属して音はアプリケーションバンドルでなければならず、ユーザーが後で追加するサウンドは、ドキュメントフォルダに配置する必要があります。

関連する問題