0

我正在使用 AV Foundation 框架。我正在尝试为“AVCaptureDeviceInput”对象执行“deviceInputWithDevice”的方法调用。

问题是该方法调用包含一个“错误”参数,我将其命名为“错误”,并且我在 xcode 中不断收到此警告:使用未处理的标识符“错误”

我所有的 AV Foundation 代码都位于 View Controller 的 ViewDidLoad 方法实现中。这里是:

    AVCaptureSession *session = [[AVCaptureSession alloc]init];

    session.sessionPreset = AVCaptureSessionPresetHigh;

    AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];

    AVCaptureDeviceInput *input = [AVCaptureDeviceInput deviceInputWithDevice:device error:error];

    [session addInput:input];

我不明白为什么它一直给我“错误”参数的未声明标识符警告。

任何帮助是极大的赞赏。

4

1 回答 1

2

您必须声明error您尝试使用的变量:

NSError *error = nil;
AVCaptureDeviceInput *input = [AVCaptureDeviceInput deviceInputWithDevice:device error:&error];

并注意,当您将它传递给方法时,您需要一个&before 。error当然,您应该检查一下:

if (input) {
    // it succeeded, do something
} else {
    NSLog(@"Error trying to call deviceInputWithDevice: %@", error);
}
于 2014-02-17T23:02:34.127 回答