如何在 iOS 上录制 PCM 音频文件?
Posted
技术标签:
【中文标题】如何在 iOS 上录制 PCM 音频文件?【英文标题】:How do you record a PCM audio file on iOS? 【发布时间】:2014-09-28 10:19:34 【问题描述】:是否可以通过麦克风录制 PCM 音频文件?我正在尝试录制一个非常短的 PCM 音频文件,但到目前为止一直很困难。
我尝试过使用 AVAudioRecorder 但这不起作用:
AVAudiosession *session = [AVAudioSession sharedInstance];
[session setCategory:AVAudioSessionCategoryRecord error:nil];
NSDictionary* recorderSettings = [NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithInt:kAudioFormatLinearPCM],AVFormatIDKey,
[NSNumber numberWithInt:44100],AVSampleRateKey,
[NSNumber numberWithInt:1],AVNumberOfChannelsKey,
[NSNumber numberWithInt:16],AVLinearPCMBitDepthKey,
[NSNumber numberWithBool:NO],AVLinearPCMIsBigEndianKey,
[NSNumber numberWithBool:NO],AVLinearPCMIsFloatKey,
nil];
NSError* error = nil;
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSURL* outURL = [NSURL fileURLWithPath:[documentsDirectory stringByAppendingPathComponent:@"output.pcm"]];
recorder = [[AVAudioRecorder alloc] initWithURL:outURL settings:recorderSettings error:&error];
[recorder prepareToRecord];
recorder.meteringEnabled = YES;
[recorder record];
如果有人能指出正确的方向,将不胜感激,谢谢。
【问题讨论】:
【参考方案1】:您了解音频队列服务吗?如果你知道,你可以很容易。
在其他情况下,您可以使用AVAudioRecord
进行操作。请检查以下网址:
How do I record audio on iPhone with AVAudioRecorder?
谢谢。
【讨论】:
【参考方案2】:参考以下内容:“Speakhere”作为参考 https://developer.apple.com/library/ios/samplecode/SpeakHere/Listings/ReadMe_txt.html
【讨论】:
SpeakHere 示例将音频保存为 .caf 文件,但我需要将音频保存在 .pcm 文件中?以上是关于如何在 iOS 上录制 PCM 音频文件?的主要内容,如果未能解决你的问题,请参考以下文章
Android 如何使用 MediaRecorder 录制音频并输出为原始 PCM?