【问题标题】:How to use Camera flash in the OpenCV4Android sample Tutorial-1 Camera PreviewOpenCV4Android示例Tutorial-1 Camera Preview中如何使用Camera flash
【发布时间】:2015-12-11 13:11:20
【问题描述】:
当我使用以下代码时,结果是闪光灯打开,但它给出了错误“您的设备似乎不支持相机(或它被锁定)。应用程序将被关闭”。请建议我一种方法,以便在打开闪光灯的情况下查看相机预览。
private Camera mCamera;
void ledOn(){
Camera.Parameters p = mCamera.getParameters();
p.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
mCamera.setParameters(p);
}
【问题讨论】:
标签:
android
opencv
camera
flashlight
【解决方案1】:
我遇到了同样的问题。我修改了一些代码,它的工作:
public class OpenCvCameraView extends JavaCameraView {
public OpenCvCameraView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public List<String> getEffectList() {
return mCamera.getParameters().getSupportedFlashModes();
}
public boolean isEffectSupported() {
return (mCamera.getParameters().getFlashMode() != null);
}
public String getEffect() {
return mCamera.getParameters().getFlashMode();
}
public void setEffect(String effect) {
if(mCamera != null) {
mCamera.getParameters();
Camera.Parameters params = mCamera.getParameters();
params.setFlashMode(effect);
mCamera.setParameters(params);
}
}
public void cameraRelease() {
if(mCamera != null){
mCamera.release();
}
}
}
并将这些方法放入您的主要活动中:
public void turnOnTorch() {
mOpenCVCameraView.setEffect(Camera.Parameters.FLASH_MODE_TORCH);
}
public void turnOffTorch() {
mOpenCVCameraView.setEffect(Camera.Parameters.FLASH_MODE_ON);