AVCaptureDevice focusPointOfInterest不会改变

时间:2010-12-16 15:40:33

标签: iphone focus avcapturedevice

我有一个带有此代码的IBAction:

.h文件:

AVCaptureDevice *device;

.m文件:

- (IBAction)focusInfo {
 if (device == nil) {
  device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
 }

 NSLog(@"Camera focus point of interest: %d, %d", device.focusPointOfInterest.x, device.focusPointOfInterest.y);
}

这与CustomCameraOverlay上的按钮相关联。当我在移动相机的同时按下按钮时没有任何变化。控制台日志始终是相同的:

Camera focus point of interest: 0, 1071644672

为什么在相机更换焦点时不会改变?我做错了什么?我也试图获得属性isAdjustingFocus,但它也没有改变。

我想为这些属性添加Obserwer,但是如果值不会改变,那么观察者将无法工作。

2 个答案:

答案 0 :(得分:2)

focusPointOfInterest属于CGPoint类型,由CGFloat组成。请尝试使用%f代替%d

答案 1 :(得分:0)

在记录CGPoint(或其他CGxxx结构)时最好使用NSStringFromCGPoint

NSLog(@"Camera focus point of interest: %@",
        NSStringFromCGPoint(device.focusPointOfInterest);