2013-01-29 39 views

Trả lời

8

Theo doc

Bạn có thể sử dụng adjustingFocus tài sản để xác định xem một thiết bị hiện đang tập trung. Bạn có thể quan sát thuộc tính sử dụng key-value observing để được thông báo khi thiết bị khởi động và ngừng lấy nét.

Nếu bạn thay đổi các thiết lập chế độ tập trung, bạn có thể trả lại cho cấu hình mặc định như sau:

5

Trong khởi động:

[[[captureManager videoInput] device] addObserver:self forKeyPath:@"adjustingFocus" options:NSKeyValueObservingOptionNew context:nil]; 

và sau đó:

bool focusing = false; 
bool finishedFocus = false; 
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context 
{ 
    //[super observeValueForKeyPath:keyPath ofObject:object change:change context:context]; 
    if([keyPath isEqualToString:@"adjustingFocus"]){ 
     BOOL adjustingFocus = [ [change objectForKey:NSKeyValueChangeNewKey] isEqualToNumber:[NSNumber numberWithInt:1] ]; 

     if (adjustingFocus) { 
      focusing=true; 
     } 
     else { 
      if (focusing) { 
       focusing = false; 
       finishedFocus = true; 
      } 
     } 
    } 
} 
+0

Cảm ơn @ alexi-akl! Đây là mã tôi đã mất tích ... :) – cdescours

+0

vui vì câu trả lời của tôi là hữu ích :) @cdescours –

0

Tôi đoán nó xứng đáng để mở rộng khi Shubhank trả lời cho những người như tôi, những người không thích đọc táo (xuất sắc) tài liệu đề xuất cho một vài mục đích để hủy khung hình xuất hiện trong khi AVCaptureDevice đang điều chỉnh độ phơi sáng và có thể, điểm trắng

Các vấn đề liên quan