Google은 지원되는 모든 Android 휴대 전화 ("Samsung Galaxy S5"제외)과 호환되는 앱을 보유하고 있습니다. 우리의 애플 리케이션 카메라 가까운 거리에서 사진을 찍을 수 있습니다. 우리는 사진 촬영에 집중할 때마다 토치 모드가 필요합니다. 지원되는 매개 변수를 확인하고 지원되는 경우 값을 설정합니다.Samsung Galaxy S5 카메라 토치 작동하지 않음
params가 설정되었지만 이벤트가 실행되지 않거나 카메라가 설정을 무시합니다. OpenCamera를 사용하여 테스트 한 결과, 응용 프로그램은 횃불을 켤 수 있지만 아직 내 매개 변수를 설정하는 방법과 자신의 매개 변수를 설정하는 방법의 차이를 찾을 수 없습니다. 어쩌면 당신을 도울 것입니다 ..
//Set all camera parameters(flash, focus, white balance, etc)
private void setCameraParameters()
{
//Rotate the orientation of the preview to match orientation of device
camera.setDisplayOrientation(getCameraRotation());
//A Parameters object must be used to set the other parameters.
Parameters params = camera.getParameters();
//Flash Mode to Torch if supported
if(params.getSupportedFlashModes().contains("torch"))
{
// Torch mode
params.setFlashMode(Parameters.FLASH_MODE_TORCH);
}
//Focus Mode to Macro if supported, Auto if not
if(params.getSupportedFocusModes().contains("macro"))
{
//Macro focus mode
params.setFocusMode(Parameters.FOCUS_MODE_MACRO);
}
else
{
//Auto focus mode
params.setFocusMode(Parameters.FOCUS_MODE_AUTO);
}
//White Balance mode to Auto if available.
List<String> supported_white = params.getSupportedWhiteBalance();
if(supported_white!=null)
{
if(supported_white.contains("auto"))
{
params.setWhiteBalance(Parameters.WHITE_BALANCE_AUTO);
}
}
// Auto Exposure Lock to false if available
if(params.isAutoExposureLockSupported())
{
params.setAutoExposureLock(false);
}
// Auto White Balance Lock if available.
if(params.getAutoWhiteBalanceLock())
{
params.setAutoWhiteBalanceLock(false);
}
//JPEG quality set to 100(highest)
{
params.setJpegQuality(100);
}
//Set focus area and metering area
List<Camera.Area> focusArea = calculateFocusArea();
params.setFocusAreas(focusArea);
params.setMeteringAreas(focusArea);
Camera.Size size = pickCameraSize(params.getSupportedPictureSizes());
params.setPictureSize(size.width, size.height);
//Set new parameters for camera
camera.setParameters(params);
boolean torch = getTorchState(camera);
}
// Added this method from zxing github to see if the value is being set
boolean getTorchState(Camera camera) {
if (camera != null) {
Camera.Parameters parameters = camera.getParameters();
if (parameters != null) {
String flashMode = camera.getParameters().getFlashMode();
return flashMode != null
&& (Camera.Parameters.FLASH_MODE_ON.equals(flashMode) || Camera.Parameters.FLASH_MODE_TORCH
.equals(flashMode));
}
}
return false;
}
라이트 developer site 방법 토치 상태를 확인한다. 비록 그것이 켜지지 않을지라도 그것은 설정됩니다. 네이티브 카메라 앱에서 토치가 설정되면 켜집니다. 이제 Google 코드를 살펴 보겠습니다. 누군가가 도움이되는 정보를 얻길 바란다. :-) – Patricia