我想将录制的文件保存到我的应用文档中,但无法弄清楚如何操作。我做了一个录音,它存储在一个临时文件中,我可以播放那个声音。现在,当我离开该视图时,我想以新名称将该文件保存到应用程序文档中。
录制声音的代码:
NSArray *dirPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *docsDir = [dirPaths objectAtIndex:0];
NSString *soundFilePath = [docsDir
stringByAppendingPathComponent:@"tmpSound.caf"];
tempRecFile = [NSURL fileURLWithPath:soundFilePath];
NSDictionary *recSettings = [NSDictionary
dictionaryWithObjectsAndKeys:
[NSNumber numberWithInt:AVAudioQualityMin],
AVEncoderAudioQualityKey,
[NSNumber numberWithInt:16],
AVEncoderBitRateKey,
[NSNumber numberWithInt: 2],
AVNumberOfChannelsKey,
[NSNumber numberWithFloat:44100.0],
AVSampleRateKey,
nil];
recorder = [[AVAudioRecorder alloc] initWithURL:tempRecFile settings:recSettings error:nil];
[recorder setDelegate:self];
[recorder prepareToRecord];
[recorder record];
是否有人知道如何做到这一点,或者甚至可以做到这一点?
答案 0 :(得分:1)
使用NSFileManager
移动文件。
答案 1 :(得分:1)
您应该可以使用以下内容执行此操作:
NSError *error;
[[NSFileManager defaultManager] copyItemAtURL:tempRecFile toURL:newURL error:&error];
或者如果您不关心错误:
[[NSFileManager defaultManager] copyItemAtURL:tempRecFile toURL:newURL error:nil];
尽管有一个警告 - 您应该仔细考虑是否确实需要将此音频保存在文档文件夹中,或者如果caches文件夹就足够了。 Apple对允许的内容有严格的规定。