3

我一直在制作这个应用程序,其中包括录制视频和音频。视频录制可以正常工作,并且在大多数设备上,音频录制也是如此。

除了,在 iPad 2 (iOS 6.1.3) 上,录音不起作用。在官方的“相机”应用程序中,录音工作完美无缺,所以这不是设备相关的问题。

这是代码:

    NSURL *outputFileURL = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@%@", NSTemporaryDirectory(), @"output.mov"]];

    NSError *error;

    AVCaptureDevice *device = [self frontCamera];
    AVCaptureDeviceInput *inputVideo = [AVCaptureDeviceInput deviceInputWithDevice:device error:&error];

    self.session = [[AVCaptureSession alloc] init];
    [self.session beginConfiguration];
    if([device supportsAVCaptureSessionPreset:AVCaptureSessionPreset1280x720]){
        [self.session setSessionPreset:AVCaptureSessionPreset1280x720];
    } else if([device supportsAVCaptureSessionPreset:AVCaptureSessionPresetiFrame960x540]){
        [self.session setSessionPreset:AVCaptureSessionPresetiFrame960x540];
    } else if([device supportsAVCaptureSessionPreset:AVCaptureSessionPreset640x480]){
        [self.session setSessionPreset:AVCaptureSessionPreset640x480];
    }


    self.recorder = [[AVCamRecorder alloc] initWithSession:self.session outputFileURL:outputFileURL];
    [self.recorder setDelegate:self];

    AVCaptureDevice *audioDevice = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeAudio];
    NSError *audioError;
    AVCaptureDeviceInput *inputAudio = [[AVCaptureDeviceInput alloc] initWithDevice:audioDevice error:&audioError];

    NSLog(@"AudioError: %@", audioError);
    NSLog(@"InputAudio: %@", inputAudio);

    [self.session addInput:inputVideo];
    [self.session addInput:inputAudio];
    [self.session commitConfiguration];
    [self.session startRunning];

在日志中,“audioError”为空,“inputAudio”似乎是一个有效变量。关于如何解决这个问题的任何想法?

4

0 回答 0