相机FLASH_MODE_ON不工作的极限摩托 [英] Camera FLASH_MODE_ON not working on Moto X

查看:171
本文介绍了相机FLASH_MODE_ON不工作的极限摩托的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个按钮,切换 FLASH_MODE_ON / FLASH_MODE_OFF 之间的闪光模式。切换适用于大多数的手机(我已经在Nexus 5的测试,S4和放大器; S3)?但它没有拍照时的Moto X.任何想法可能是什么这个原因闪烁

  //设置相机PARAMS
    最后Camera.Parameters PARAMS = mCamera.getParameters();
    最终布尔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.start preVIEW();    //设置状态的ImageButton
    mImageButtonFlash.setSelected(shouldFlashBeOn);


解决方案

如果我遇到这种情况,我会先检查所有参数。然后找到我可以用什么样的价值观。例如,下面的打印所有的参数code

 参数参数= mCamera.getParameters();
Log.i(照相机,param.flatten()的toString());

然后检查日志


  

九月3日至18日:58:08.855:I /摄像头(32756):
  $p$pferred-$p$pview-size-for-video=1280x720;zoom=0;max-num-detected-faces-hw=5;zoom-supported=true;metering=center;contrast=2;whitebalance=auto;scene-mode=auto;jpeg-quality=100;$p$pview-format-values=yuv420sp,yuv420p;jpeg-thumbnail-quality=100;$p$pview-format=yuv420sp;video-size-values=1280x720,1920x1080,960x720,720x480,640x480,352x288,320x240,176x144;$p$pview-size=960x720;focal-length=3.700000;iso=auto;fast-fps-mode=0;flash-mode-values=auto,off,on,torch;$p$pview-frame-rate-values=30,20,15,10;$p$pview-frame-rate=30;focus-mode-values=auto,infinity,macro,fixed,continuous-picture,continuous-video;jpeg-thumbnail-width=160;video-size=1280x720;scene-mode-values=auto,portrait,landscape,night,beach,snow,sunset,fireworks,sports,party,candlelight,dusk-dawn,fall-color,text,back-light;$p$pview-fps-range-values=(10000,10000),(15000,15000),(15000,30000),(30000,30000);jpeg-thumbnail-size-values=160x120,160x90,144x96,0x0;zoom-ratios=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;$p$pview-size-values=960x720,1280x720,640x480,352x288,320x240;picture-size-values=640x480,960x720,1024x768,1280x720,1600x1200,2560x1920,3264x2448,2048x1536,3264x1836,2048x1152,3264x2176;$p$pview-fps-range=15000,30000;min-exposure-compensation=-4;antibanding=off;max-num-focus-areas=1;vertical-view-angle=49.3;horizontal-view-angle=63;video-stabilization-supported=true;jpeg-thumbnail-height=120;smooth-zoom-supported=false;focus-mode=auto;auto-whitebalance-lock-supported=true;video-frame-format=yuv420sp;picture-format-values=jpeg;max-exposure-compensation=4;focus-areas=(0,0,0,0,0);exposure-compensation=0;exposure-compensation-step=0.5;flash-mode=off;effect-values=none,mono,negative,sepia,solarize,posterize,washed,vintage-warm,vintage-cold,point-blue,point-red-yellow,point-green,cartoonize;picture-size=640x480;max-zoom=30;effect=none;whitebalance-values=auto,incandescent,fluorescent,daylight,cloudy-daylight;picture-format=jpeg;focus-distances=0.15,1.20,Infinity;auto-exposure-lock-supported=true;antibanding-values=50hz,off


您可以看到你可以使用的值


  

闪光模式值=自动,关闭,上,火炬;


然后设置由code值之一

  param.set(上,闪光模式);
mCamera.setParameters(参数);

您可以试试。

I have a button that toggles the flash mode between FLASH_MODE_ON/FLASH_MODE_OFF. The toggle works on most phones (I've tested on Nexus 5, S4 & S3) but it fails to flash when taking a picture on Moto X. Any ideas what could be the cause of this?

    // 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);

解决方案

If I meet this case, I'll check all parameters first. Then find what values I can use. For example, print all parameters by following code

Parameters param = mCamera.getParameters();
Log.i("camera", param.flatten().toString());

Then check the log

03-18 09:58:08.855: I/camera(32756): preferred-preview-size-for-video=1280x720;zoom=0;max-num-detected-faces-hw=5;zoom-supported=true;metering=center;contrast=2;whitebalance=auto;scene-mode=auto;jpeg-quality=100;preview-format-values=yuv420sp,yuv420p;jpeg-thumbnail-quality=100;preview-format=yuv420sp;video-size-values=1280x720,1920x1080,960x720,720x480,640x480,352x288,320x240,176x144;preview-size=960x720;focal-length=3.700000;iso=auto;fast-fps-mode=0;flash-mode-values=auto,off,on,torch;preview-frame-rate-values=30,20,15,10;preview-frame-rate=30;focus-mode-values=auto,infinity,macro,fixed,continuous-picture,continuous-video;jpeg-thumbnail-width=160;video-size=1280x720;scene-mode-values=auto,portrait,landscape,night,beach,snow,sunset,fireworks,sports,party,candlelight,dusk-dawn,fall-color,text,back-light;preview-fps-range-values=(10000,10000),(15000,15000),(15000,30000),(30000,30000);jpeg-thumbnail-size-values=160x120,160x90,144x96,0x0;zoom-ratios=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;preview-size-values=960x720,1280x720,640x480,352x288,320x240;picture-size-values=640x480,960x720,1024x768,1280x720,1600x1200,2560x1920,3264x2448,2048x1536,3264x1836,2048x1152,3264x2176;preview-fps-range=15000,30000;min-exposure-compensation=-4;antibanding=off;max-num-focus-areas=1;vertical-view-angle=49.3;horizontal-view-angle=63;video-stabilization-supported=true;jpeg-thumbnail-height=120;smooth-zoom-supported=false;focus-mode=auto;auto-whitebalance-lock-supported=true;video-frame-format=yuv420sp;picture-format-values=jpeg;max-exposure-compensation=4;focus-areas=(0,0,0,0,0);exposure-compensation=0;exposure-compensation-step=0.5;flash-mode=off;effect-values=none,mono,negative,sepia,solarize,posterize,washed,vintage-warm,vintage-cold,point-blue,point-red-yellow,point-green,cartoonize;picture-size=640x480;max-zoom=30;effect=none;whitebalance-values=auto,incandescent,fluorescent,daylight,cloudy-daylight;picture-format=jpeg;focus-distances=0.15,1.20,Infinity;auto-exposure-lock-supported=true;antibanding-values=50hz,off

You can see the values you can use

flash-mode-values=auto,off,on,torch;

Then set the one of the value by the code

param.set("flash-mode", "on");
mCamera.setParameters(param);

You can have a try.

这篇关于相机FLASH_MODE_ON不工作的极限摩托的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆