这可能是一个非常简单的问题,但我使用AVAudioRecorder
进行录音,然后我停止了录音机。停止AVAudioRecorder
后,我按另一个按钮播放录音但不播放。该文件存在,我可以在我的计算机上播放,即使代码知道它存在,没有错误,但拒绝播放。可能是什么问题?
NSError *error = nil;
if ([[NSFileManager defaultManager] fileExistsAtPath:[self.recorder.url path]]) {
self.recordingPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:self.recorder.url error:&error];
self.recordingPlayer.delegate = self;
if (error) {
NSLog(@"error: %@", [error localizedDescription]);
} else {
[self.recordingPlayer play];
}
} else {
NSLog(@"Recording file doesn't exist");
}
编辑:只是在我的设备上试过它并且工作正常,播放录音。它只适用于iOS模拟器
答案 0 :(得分:1)
问题在于我的记录设置,我将AVNumberOfChannelsKey
的数量设置为2,由于某些原因,iOS模拟器不喜欢这样,但iPhone很好用。无论哪种方式,我的录音首先不应该有2个频道,所以我发现了这个好东西。
NSDictionary *recordSettings = [NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithInt:AVAudioQualityMax], AVEncoderAudioQualityKey,
[NSNumber numberWithInt:16], AVEncoderBitRateKey,
[NSNumber numberWithInt:1], AVNumberOfChannelsKey,
[NSNumber numberWithFloat:44100.0], AVSampleRateKey,
nil];
答案 1 :(得分:0)
试试此链接的代码。在此,您可以录制音频并从文档文件夹中检索。