(一)前言
? AVCapture Device 定義了很多方法,讓開發者控制ios設備上的攝像頭。可以獨立調整和鎖定攝像頭的焦距、曝光、白平衡。對焦和曝光可以基于特定的興趣點進行設置,使其在應用中實現點擊對焦、點擊曝光的功能。
? 還可以讓你控制設備的LED作為拍照的閃光燈或手電筒的使用
? 每當修改攝像頭設備時,一定要先測試修改動作是否能被設備支持。并不是所有的攝像頭都支持所有功能,例如牽制攝像頭就不支持對焦操作,因為它和目標距離一般在一臂之長的距離。但大部分后置攝像頭是可以支持全尺寸對焦。嘗試應用一個不被支持的動作,會導致異常崩潰。所以修改攝像頭設備前,需要判斷是否支持。比如,將對焦模式設置為自動之前,首先要檢查此模式是否被支持。
圖5-1
當驗證這一個配置的修改可以支持時,就可以執行實際的設置配置了。修改捕捉設備的基本技巧包括先鎖定設備準備配置,執行所需的修改,最后解鎖設備。
Mac、iPhone、iPad上的設備都是系統通用的,所以在進行修改前,AVCaptureDevice要求開發者獲得設備上的一個排它鎖??,不這樣做會導致應用程序拋出異常。雖然不要求配置完立即釋放排它鎖??,不過如果不釋放則會對其他使用同一個資源的應用程序產生副作用,所以大多數時候我們每當配置完成后就釋放這個排它鎖??。
5.1 調整焦距&曝光
iOS設備是大多數后置攝像頭都支持基于給定的興趣點設置對焦&曝光數據。我們在這個demo上直觀的利用這個功能允許用戶在攝像頭界面點擊一個位置,就會在這個點自動對焦或曝光。還可以對這些興趣點鎖定焦距&曝光,確保用戶可以穩定的點擊拍照按鈕。
cameraSupportsTapToFocus:方法實現
focusAtPoint:方法實現
?cameraSupportsTapToExpose:方法實現
exposeAtPoint: 方法實現
observeValueForKeyPath:...方法實現
resetFoucsAndExposureModes方法實現
小伙伴們閱讀后,請喜歡一下。文章更新可以提醒到你哦~~~~