オーディオ録音をデータベースに保存し、後で取得する必要があるアプリに取り組んでいます。ただし、sqlite の使用方法についてはある程度認識していますが、音声録音を保存する際に正しい方法を使用しているかどうかはわかりません。動作させるのに苦労しているためです。録音を保存するために現在使用しているコードを以下に示します。コードに関するフィードバックをお待ちしております。
self.renameString =[NSString stringWithFormat:@"%@/%@.caf",DOCUMENTS_FOLDER,self.soundName.text];
NSLog(@"%@",self.renameString);
self.soundFileURL2 = [NSURL fileURLWithPath:self.renameString];
NSLog(@"%@",self.soundFileURL2);
NSFileManager *fm = [NSFileManager defaultManager];
NSError *renameError;
[fm moveItemAtURL:self.soundFileURL toURL:self.soundFileURL2 error:&renameError];
[self checkAndCreateDatabase];
self.soundName.text = @"";
BOOL checkQuery;
NSData *blob;
blob = self.voiceData;
sqlite3_stmt *statement;
const char *insert = [self.renameString UTF8String];
if(sqlite3_prepare_v2(soundDB, insert, -1, &statement, NULL)!= SQLITE_OK) {
checkQuery=NO;
}
else {
sqlite3_bind_blob(statement, 1, [blob bytes], [blob length], NULL);
if(SQLITE_DONE != sqlite3_step(statement)) {
checkQuery=NO;
}
else {
// NSLog(@"Query Working nicely");
checkQuery=YES;
sqlite3_reset(statement);
}
}
//}
sqlite3_finalize(statement);
sqlite3_close(soundDB);
また、保存されたファイルを取得するには、新しい NSData 変数を宣言し、その変数に読み取り値を割り当てる必要があることも認識しています。その後、NSData を抽出し、それを別の変数自体に入れる必要があります。問題は、NSString および UIImage データを抽出する方法は認識していますが、AVAudioRecorder データを抽出するためのルールについてはよくわかりません。誰かがこれについて私を助けてくれますか? ありがとう。