[英]Saving the audio file after recording is completed?
我正在嘗試將錄制的音頻文件保存在文檔文件夾中。 我試圖使用CoreData
保存錄制的音頻,但我無法弄清楚。 整合它的最佳方法是什么? 我的代碼如下:
if(_radio.isRecording) {
[_recordbutton setImage:[UIImage imageNamed:@"record_off.png"] forState:UIControlStateNormal];
[_radio stopRecording];
} else {
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsPath = [paths objectAtIndex:0];
NSString *recordname = [NSString stringWithFormat:@"%@%d.%@", [_detailItem objectForKey:@"name"], _recordingCounter++, [_radio fileExtensionHint]];
NSString *path = [documentsPath stringByAppendingPathComponent:recordname];
[_recordbutton setImage:[UIImage imageNamed:@"record_on.png"] forState:UIControlStateNormal];
[_radio startRecordingWithDestination:path];
}
}
- (void)radio:(MeroRadio *)radio didStopRecordingWithDestination:(NSString *)path {
NSLog(@"Did stop recording with destination: %@", path);
[_recordbutton setImage:[UIImage imageNamed:@"record_off.png"] forState:UIControlStateNormal];
NSURL *url = [NSURL fileURLWithPath:path];
[_recordings saveobject:[url lastpathcomponent];
}
_recordings
是一個NSMutableArray
。 那么最好的保存方法是什么?
ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
NSArray *documentsFolders = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *path = [[documentsFolders objectAtIndex:0] stringByAppendingPathComponent:@"Recording.aiff"];
[library writeVideoAtPathToSavedPhotosAlbum:[NSURL URLWithString:path] completionBlock:^(NSURL *assetURL, NSError *error){
/*notify of completion*/
NSLog(@"AssetURL: %@",assetURL);
NSLog(@"Error: %@",error);
if (!error) {
//video saved
[[self appDelegate] showAlertWithTitle:@"Audio Saved" message:@""];
}
else{
[[self appDelegate] showAlertWithTitle:@"Error" message:error.domain];
}
}];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.