在此鏈接上的android中有一個自定義相機實現http://store.ovi.com/content/147853?clickSource=search&pos=1我想知道我們如何在捕捉圖像時閃光,這是我們自己會做的事嗎?或在示例中設置攝像頭模式的任何API?自定義相機中的閃光android
請幫忙!
感謝
在此鏈接上的android中有一個自定義相機實現http://store.ovi.com/content/147853?clickSource=search&pos=1我想知道我們如何在捕捉圖像時閃光,這是我們自己會做的事嗎?或在示例中設置攝像頭模式的任何API?自定義相機中的閃光android
請幫忙!
感謝
您可以設置所需的閃光模式,你在使用setParameters(Camera.Parameters params)
的Camera
對象傳遞的參數的一部分。參考setFlashMode(String)
方法,提供FLASH_MODE_ON
,FLASH_MODE_OFF
或FLASH_MODE_AUTO
。
Camera camera = Camera.open();
Camera.Parameters params = new Camera.Parameters();
params.setFlashMode(Camera.Parameters.FLASH_MODE_ON);
// ... set other parameters
camera.setParameters(params);
這是比較容易的後,你有一個相機的實例(Camera.open()將返回一個相機實例)。
首先你需要用
Camera.Parameters params = yourCameraInstance.getParameters();
接下來讓相機參數,你需要檢查是否正在使用的設備能夠你希望實現怎樣的閃光模式,以防萬一你試圖告訴設備打開閃光燈,它不能。這會導致崩潰。
List<String> flashModes = params.getSupportedFlashModes();
這將返回設備能夠以字符串形式顯示的所有閃存模式的列表。例如,列表應該包含如下內容:FLASH_MODE_AUTO,FLASH_MODE_ON,FLASH_MODE_OFF等。
然後做這樣的事情:
if (flashModes.contains(Camera.Parameters.FLASH_MODE_AUTO)) {
params.setFlashMode(Camera.Parameters.FLASH_MODE_AUTO);
}
最後,設置你的新PARAMS到你的相機比如像這樣:
yourCameraInstance.setParameters(params);
同樣的,你可以檢查其他的拍照功能同樣的時尚:
希望這可以幫助別人!
但是我懷疑這個方法不適用於所有版本,比如2.2以上的版本,但是會檢查 –
好吧,由於'setFlashMode(String)'從API級別5開始就已經存在,它應該在設備上運行Android 1.6或更新版本(基本上所有設備都在那裏)。不過,我想可能有硬件製造商實施的驅動程序方面的限制 - 但不知道。 –