AVCaptureSession不会在iPad 2上录制音频

时间:2013-06-17 09:57:46

标签: ios audio avcapturesession ipad-2

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

除了在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”为null,“inputAudio”似乎是一个有效变量。 有关如何解决此问题的任何想法?

0 个答案:

没有答案