Камера FLASH_MODE_ON не работает на Moto X
У меня есть кнопка, которая переключает режим вспышки между FLASH_MODE_ON
/FLASH_MODE_OFF
, Переключатель работает на большинстве телефонов (я тестировал на Nexus 5, S4 и S3), но он не мигает при съемке на Moto X. Есть идеи, что может быть причиной этого?
// Set camera params
final Camera.Parameters params = mCamera.getParameters();
final boolean shouldFlashBeOn = !(Camera.Parameters.FLASH_MODE_ON.equals(params.getFlashMode()));
params.setFlashMode(shouldFlashBeOn
? Camera.Parameters.FLASH_MODE_ON
: Camera.Parameters.FLASH_MODE_OFF);
mCamera.setParameters(params);
mCamera.startPreview();
// Set ImageButton state
mImageButtonFlash.setSelected(shouldFlashBeOn);
1 ответ
Если я отвечу этому случаю, я сначала проверю все параметры. Затем найдите, какие значения я могу использовать. Например, распечатать все параметры по следующему коду
Parameters param = mCamera.getParameters();
Log.i("camera", param.flatten().toString());
Затем проверьте журнал
03-18 09:58:08.855: I/ камера (32756): предпочтительный размер предварительного просмотра для видео =1280x720; увеличение = 0; максимальное число обнаруженных лиц hw=5; увеличение поддерживается = true; дозирующий = центр; контраст = 2; = автоматический баланс белой, сцена, режим автоматический =; JPEG-качество = 100; предварительный просмотр формат-значение = yuv420sp, yuv420p; JPEG-эскизы качество = 100; предварительный формат = yuv420sp; видео- размер-значение =1280x720,1920x1080,960x720,720x480,640x480,352x288,320x240,176x144; предварительного размер =960x720; фокусное расстояние = 3,700000; изо = автоматическое; быстро кадры в секунде режим = 0; флеш-Mode-значение = авто, выкло, вкло, факел; просмотр-фреймрейт-значение = 30,20,15,10, просмотр-частота кадров = 30; фокус-режим-значение = авто, бесконечность, макро, фиксированы, непрерывная картина, непрерывное видео; JPEG-эскизы ширина = 160; видео-размер =1280x720; сцена режим-значение = автоматическая, портрет, пейзаж, ночь, пляж, снег, закат, фейерверк, спорт, вечеринка, свечи, закат-рассвет, падения цвета, текст, резервный свет; просмотр-кадр-диапазон значения =(10000,10000),(15000,15000),(15000,30000),(30000,30000); JPEG-миниатюра-размер-значение =160x120,160x90,144x96,0x0; масштабирования-коэффициенты =100,102,104,109,111,113,119,121,124,131,134,138,146,150,155,159,165,170,182,189,200,213,222,232,243,255,283,300,319,364,400; просмотр-размер-значение =960x720,1280x720,640x480,352x288,320x240; картинка-размер-значение =640x480,960x720,1024x768,1280x720,1600x1200,2560x1920,3264x2448,2048x1536,3264x1836,2048x1152,3264x2176; просмотр-fps- диапазон = 15000,30000; мин-коррекции экспозиции =-4;antibanding= выкл; макс-Num-фокус-область = 1; вертикальный вид угла =49,3; горизонтальная ракурса угла = 63; видео-стабилизация при поддержке = истина; JPEG-эскизы высота = 120; гладкоствольного зум поддерживается = ложь; фокус-режим = автоматическим, автоматический баланс белого блокировки поддерживаемым = TRUE; видео-кадры в формат = yuv420sp, картинка формат-значение = JPEG; макс не-коррекция экспозиции = 4; фокус-зона = (0,0,0,0,0); коррекция экспозиции = 0; коррекция экспозиция шаг = 0,5; флэш-режим = OFF; эффект-значение = нет, моно, негатив, сепия, соляризация, постеризация, промывает, марочная-теплая, ретро-холодную, точка-синяя, точка-красно-желтый цвет, точка-зеленый, cartoonize; картинка размер = 640x480; макс масштабирование = 30; эффект = нет;-значение баланса белого = авто, лампа накаливание, флуоресцентный, дневной свет, облачно-дневной свет; пи cture-формат = JPEG; фокус-расстояние = 0.15,1.20, бесконечность; автоэкспозиция блокировка поддерживаемая = истина; antibanding-значение = 50Гц, выкло
Вы можете увидеть значения, которые вы можете использовать
Флэш-Mode-значения = авто, выкл, вкл, горелки;
Затем установите значение из кода
param.set("flash-mode", "on");
mCamera.setParameters(param);
Вы можете попробовать.