camera.activeFormat没有得到应用

时间:2019-04-23 13:33:52

标签: ios objective-c camera avcapturesession avcapturedevice

我们正在尝试在我们的iOS应用程序(用Objective-C编写)中设置特定的相机帧分辨率,该分辨率未在AVCaptureSessionPreset中定义。通过以下代码,我们希望将框架尺寸设置为特定宽度:

  for ( AVCaptureDeviceFormat *format in [self.camera formats] ) {
    NSLog(@"%@", format);
    CMVideoDimensions dim = CMVideoFormatDescriptionGetDimensions(format.formatDescription);
    if(dim.width == 3264){
      if ([ self.camera lockForConfiguration:NULL] == YES) {
        self.camera.activeFormat = format;
        [ self.camera unlockForConfiguration];
      }

    }
  }

但是分辨率设置为1920x1080-我想这是默认值?是否有特定的命令定义何时调用摄像机配置?

1 个答案:

答案 0 :(得分:1)

您需要将AVCaptureSession的sessionPreset属性设置为AVCaptureSessionPresetInputPriority。 https://developer.apple.com/documentation/avfoundation/avcapturesessionpresetinputpriority?language=objc