摄像头参数设置了,不一定设置成功,需要确认是否,这个思维逻辑要有

原创 2015年07月06日 23:46:26

设置摄像头的分辨率为 width = 640,height = 480,但是实际预览时,却是:
width==960 height==720(MI3 4.4.4 KTU84P,MIUI版本: MIUI 6.6.2.0(KXCCNCF)|稳定版)

width== 1024 height==576 (MI3 4.4.4 KTU84P,MIUI版本: MIUI 5.7.2|开发版)
有没有知道这是怎么回事啊?


已解决,不是硬件问题,是代码问题,原因:设置摄像头参数失败。定位到设置闪光灯这句代码。
parameters.setFlashMode(Parameters.FLASH_MODE_OFF); 把这句代码去掉就可以了。



解决此问题的过程有必要记录一下,要从中吸取经验教训,以后再碰到此问题就可以迎刃而解了。

我的解决方式:(1)一开始是打断点,进不去onPreview方法里(但后来同事好像一开始也没 进去,后来就进去了,还是要多尝试几次的),(2)然后换成打log,(3)根据log,,没有打断点,分析到的结果是:给摄像头设置640X480,但不起作用,log显示预览时是1024x576,虽然有设置的分辨率但是还是选择best,。(设置参数,默认设置成功了,忽略了是否设置成功,当然了这是后话)

(2)然后断定很可能是硬件问题,就去百度,搜对应的机型,设置摄像头预览分辨率不起作用等。


 同事的做法:打断点,针对有问题的代码,一步一步debug,(我当时线debug,太慢了,就打的log,结果log只分析了个大概)断点进不去的地方,又尝试了几次就进去了,然后一步一步来,起先发现是摄像头参数没有设置成功(这一点我 没有发现啊哭),随后定位到是parameters.setFlashMode(Parameters.FLASH_MODE_OFF);这句话有问题,删掉就可以了


学到:

1.  (所有情况都适用)以后再遇到bug,一定要打断点,debug,一步一步来,对有问题的代码,一步一步debug,别嫌麻烦,通过打log,有些情况是发现不了的。

我。

2.(针对此问题本身),摄像头设置参数了,但不一定就设置成功。setPreviewSize 这家代码执行成功不一定mCamera.setPremerters(param)这句代码就执行成功了。












相关文章推荐

Camera.Parameters类一些方法

Camera.Parameters类的setFlashMode(String value)、setAntibanding(String antibanding)、setColorEffect(Stri...

Unity3D 大型游戏 最后一站 源码 部分重点NetworkManager(三)(9)

接着上节我们讲了SendMsg()方法,接下来我们讲下NetworkManager里面的接收消息处理。因为接收消息需要不断接收消息,然后不断的进行处理。所以我们去看看NetworkManager里面的...

Unity游戏开发之“屏幕截图”

在unity游戏开发中,可能会遇到在游戏中截屏的效果。这儿提供两种截屏方法。(方法二提供显示截图缩略图代码)                 方法一:在unity的API中,unity给我们提供...

个数不一定的颜色等参数选择

  • 2015年09月24日 14:22
  • 3.93MB
  • 下载

SATWE参数设置V2.1

  • 2015年09月24日 15:49
  • 17.73MB
  • 下载

其实你的app并不一定要设置退出功能

其实你的app并不一定要设置退出功能 前文我们讲到了 使用“堆栈法”退出app的方法,但那种方法仅适合于不支持横竖屏切换(或者说,横竖屏切换并不会导致Activity destroy的情况下)的ap...

DDR2 controller的参数设置

  • 2016年07月23日 23:41
  • 808KB
  • 下载

LR-参数设置

  • 2015年07月09日 16:51
  • 260KB
  • 下载

后续的C++测试并不一定会成功

这些socekts在环境变量中以`:`或`;`隔开。例如,为调试方便,设环境变量nginx为如下值# export nginx="16000:16500:16600;"...

60D基本参数设置

  • 2013年06月06日 21:28
  • 2.84MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:摄像头参数设置了,不一定设置成功,需要确认是否,这个思维逻辑要有
举报原因:
原因补充:

(最多只允许输入30个字)