我是新來的ios開發人員,面臨創建應用程序時遇到的問題。 我的應用程序可以錄製音頻並保存並再次播放。我已經使用AVAudiorecorder和AVAudioplayer。 只要錄製停止,它會要求用戶將名稱(在文本框中)提供給要保存的文件,然後,所有保存的文件的列表應該出現並可以在下一個屏幕上播放。 (與italk錄音機應用程序相同) 我想將錄製的文件保存在文檔目錄中,並希望包含所有音頻文件元數據的數據庫。數據庫應該有ID,日期,標題,路徑。將錄製的音頻保存到文檔目錄中,並創建一個包含所有音頻文件的數據庫
這是我做了什麼:
if (player.playing) {
[player stop];
}
if (!recorder.recording) {
[self updatefilecounter];
AVAudioSession *session = [AVAudioSession sharedInstance];
[session setActive:YES error:nil];
// Set the audio file
//filename = @"nnnn";
filename = @"Music/nnnn";
filename = [filename stringByAppendingString:@(filecounter).stringValue];
filename = [filename stringByAppendingString:@".m4a"];
NSArray *pathComponents = [NSArray arrayWithObjects:
[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject],filename,nil];
NSURL *outputFileURL = [NSURL fileURLWithPathComponents:pathComponents];
// Setup audio session
[session setCategory:AVAudioSessionCategoryPlayAndRecord error:nil];
// Define the recorder setting
NSMutableDictionary *recordSetting = [[NSMutableDictionary alloc] init];
[recordSetting setValue:[NSNumber numberWithInt:kAudioFormatMPEG4AAC] forKey:AVFormatIDKey];
[recordSetting setValue:[NSNumber numberWithFloat:44100.0] forKey:AVSampleRateKey];
[recordSetting setValue:[NSNumber numberWithInt: 2] forKey:AVNumberOfChannelsKey];
// Initiate and prepare the recorder
recorder = [[AVAudioRecorder alloc] initWithURL:outputFileURL settings:recordSetting error:NULL];
recorder.delegate = self;
recorder.meteringEnabled = YES;
NSLog(@"%@", outputFileURL);
NSLog(@"%@", filename);
[recorder record];
} else {
// Stop recording
[recorder stop];
AVAudioSession *audioSession = [AVAudioSession sharedInstance];
[audioSession setActive:NO error:nil];
SaveAudioVC *vc = [self.storyboardinstantiateViewControllerWithIdentifier:@"SaveAudioVC"];
[self.navigationController pushViewController:vc animated:YES];
}
}
文件被保存爲nnnn.1,nnnn.2等等,但是當我停止應用程序並再次運行它覆蓋上的文件,我想用戶給出他/她選擇的名字來保存該文件,並將其顯示在具有給定名稱的最後一個屏幕上的記錄文件中。 我已經提到這個鏈接:Record audio and save permanently in iOS
但是我的要求不匹配,從而PLZ指導我保存在文件目錄中的記錄文件,在文本字段給文件命名爲每個用戶的願望,並顯示所有保存文件並創建一個數據庫,如上所述。