如何在sqlite上保存和读取AVAudioRecordings?

时间:2012-08-25 04:55:09

标签: xcode sqlite avaudiorecorder

我正在制作一款应用程序,要求我将录音保存在数据库中并稍后检索。然而,虽然我有点意识到如何使用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数据的规则。有人可以帮我这个吗?感谢。

0 个答案:

没有答案