本文介绍了如何以.m4a格式录制语音的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我已经创建了一个要记录的iPhone应用程序。它将记录在.caf文件中。
Already I have created an iPhone application to record. It will record in .caf file.
但我想以.m4a格式录制。
But I want to record in .m4a format.
请帮我这样做。
谢谢。
推荐答案
这是一个替代代码示例,它将文件编码为m4a中的AAC:
Here is an alternative code sample that will encode the file as AAC inside an m4a:
NSArray *dirPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *docsDir = [dirPaths objectAtIndex:0];
NSURL *tmpFileUrl = [NSURL fileURLWithPath:[docsDir stringByAppendingPathComponent:@"tmp.m4a"]];
NSDictionary *recordSettings = [NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithInt: kAudioFormatMPEG4AAC], AVFormatIDKey,
[NSNumber numberWithFloat:16000.0], AVSampleRateKey,
[NSNumber numberWithInt: 1], AVNumberOfChannelsKey,
nil];
NSError *error = nil;
AVAudioRecorder *recorder = [[AVAudioRecorder alloc] initWithURL:tmpFileUrl settings:recordSettings error:&error];
[recorder prepareToRecord];
AVAudioSession *session = [AVAudioSession sharedInstance];
[session setCategory:AVAudioSessionCategoryRecord error:nil];
[session setActive:YES error:nil];
[recorder record];
然后结束我使用的录音:
Then to end the recording I used:
[recorder stop];
AVAudioSession *session = [AVAudioSession sharedInstance];
int flags = AVAudioSessionSetActiveFlags_NotifyOthersOnDeactivation;
[session setActive:NO withFlags:flags error:nil];
然后'tmpFileUrl'
的文件可以使用。
这篇关于如何以.m4a格式录制语音的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!