camera.activeFormat 未申请
camera.activeFormat not getting applied
我们正在尝试在我们的 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 - 我猜这是默认值吧?是否有特定的顺序来定义何时调用相机配置?
您需要将AVCaptureSession的sessionPreset属性设置为AVCaptureSessionPresetInputPriority。
https://developer.apple.com/documentation/avfoundation/avcapturesessionpresetinputpriority?language=objc
我们正在尝试在我们的 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 - 我猜这是默认值吧?是否有特定的顺序来定义何时调用相机配置?
您需要将AVCaptureSession的sessionPreset属性设置为AVCaptureSessionPresetInputPriority。 https://developer.apple.com/documentation/avfoundation/avcapturesessionpresetinputpriority?language=objc