AVAudioPlayer不播放用AVAudioRecorder制作的录音

时间:2012-08-28 10:05:12

标签: objective-c ios avfoundation avaudioplayer avaudiorecorder

这可能是一个非常简单的问题,但我使用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模拟器

2 个答案:

答案 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)

试试此链接的代码。在此,您可以录制音频并从文档文件夹中检索。

Record audio file and save locally on iPhone