1

这可能是一个非常简单的问题,但我已经使用 进行了录音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模拟器上不起作用

4

2 回答 2

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];
于 2012-08-28T10:50:44.490 回答
0

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

录制音频文件并在 iPhone 上本地保存

于 2012-08-28T11:43:33.273 回答