AVCaptureDevice focusPointOfInterest не изменяется - PullRequest
0 голосов
/ 16 декабря 2010

У меня есть 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 ]

2 голосов
/ 19 января 2011

focusPointOfInterest имеет тип CGPoint, который состоит из CGFloat с.Попробуйте %f вместо %d.

0 голосов
/ 02 ноября 2015

Лучше использовать NSStringFromCGPoint при регистрации CGPoint (или других структур CGxxx)

NSLog(@"Camera focus point of interest: %@",
        NSStringFromCGPoint(device.focusPointOfInterest);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...