AVAudioRecorder 在 prepareToRecord 上抛出异常
Posted
技术标签:
【中文标题】AVAudioRecorder 在 prepareToRecord 上抛出异常【英文标题】:AVAudioRecorder throwing exception on prepareToRecord 【发布时间】:2013-11-21 08:07:52 【问题描述】:我正在运行sample code 进行录音(源代码可在文末下载)。代码是这样的
NSArray *pathComponents = [NSArray arrayWithObjects:
[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject],
@"MyAudioMemo.m4a",
nil];
NSURL *outputFileURL = [NSURL fileURLWithPathComponents:pathComponents];
// Setup audio session
AVAudiosession *session = [AVAudioSession sharedInstance];
[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:nil];
recorder.delegate = self;
recorder.meteringEnabled = YES;
[recorder prepareToRecord];
但是在模拟器上运行时它会在 prepareToRecord 处引发异常:
它确实会记录,如果我只是在异常处关闭断点,它会运行良好。但这很烦人。怎么了?
【问题讨论】:
音频演示应用程序完美运行。我不明白为什么它会为你崩溃。 这很奇怪。我重新下载只是为了确保我没有干预任何事情。我想那只是我的系统。 @Bhumeshwerkatre BTW,您是否为所有异常添加断点? 我没有遇到任何异常。它只是录制音频,我也可以播放录制的音频文件。 【参考方案1】:我也遇到了这个异常。寻找解决方案。需要注意的是,只有启用异常断点才能看到这些异常。该应用程序正常运行,但这令人担忧。我会继续调查的。
编辑: 好吧,答案就在这里:AVAudioPlayer throws breakpoint in debug mode 我自己想了这么多,但仍然对有这些例外感到不舒服。在录制时使用不同的音频格式会使异常消失。但是,我想使用无损格式,这确实会导致这些异常。希望这会有所帮助。
【讨论】:
以上是关于AVAudioRecorder 在 prepareToRecord 上抛出异常的主要内容,如果未能解决你的问题,请参考以下文章
iOS:AVAudioRecorder.prepareToRecord() 失败且没有错误