這篇文章主要介紹了Android控制閃光燈的方法,可實現(xiàn)閃光燈打開與關閉的效果,涉及Android操作Camera閃光燈的相關技巧,需要的朋友可以參考下
最近項目中有涉及閃光燈的需求,所以就收集了下資料,中間也遇到了一些坑,項目上線后做一下總結~
首先閃光燈可以用android.hardware.camera來控制
- 在Manifest.xml文件中添加權限
<uses-permission android:name="android.permission.CAMERA" />
- 打開閃光燈操作
Camera mCamera = Camera.open();
Camera.Parameters mParameters = mCamera.getParameters();
mParameters.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
mCamera.setParameters(mParameters);
注:這樣的操作在大部分機型上是可以逃魄,但是在三星4.3系統(tǒng)迂猴、華為p8上卻打不開閃光燈掷邦,后來發(fā)現(xiàn)需要指定下打開攝像頭名扛,即使Camera.open()默認打開的是后置攝像頭晰赞。
指定打開后置攝像頭的操作
int textureId = 0;
mCamera.setPreviewTexture(new SurfaceTexture(textureId));
mCamera.startPreview();
- 關閉閃光燈操作
Camera.Parameters mParameters = mCamera.getParameters();
mParameters.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);
mCamera.setParameters(mParameters);
mCamera.stopPreview();
mCamera.release();
mCamera = null;
注:在關閉閃光燈后一定要釋放照相機對象舅踪,不然在其他地方再調用攝像頭就會出現(xiàn)無法相應操作的錯誤纽甘。
這些只是開啟關閉的幾句核心代碼,直接放在項目中使用時完全不夠的抽碌,在使用的時候需要根據需求加容錯處理悍赢。有問題的可以在評論區(qū)回復~