现在调摄像头,做了代码升级后,发现拍出来的照片都是绿得什么信息都没有。请教高手,是什么原因造成的。升级代码改动很大。所以不太好定位。从代码流程上看不出什么问题。跪求解答。

解决方案 »

  1.   

    “拍出来的照片都是绿的”的原因很多,在升级代码前拍照正常吗,若是一开始拍照就不正常就要首先从硬件和时序上找问题了,本人以前也遇到过类似的问题(时钟极性反了照成的);若是升级前拍照正常就得看看升级更改了那些内容,借助代码比较工具或patch信息也不难找出改变的代码。打开debug看看有什么信息,你只是这样说很难确定问题在那里
      祝你好运
      

  2.   

    有没有修改camera的寄存器设置?从你的描述中看,很像是更新了驱动,寄存器设置错了。之前我改错了个寄存器值,照出来的照片都是倒的,雷死我了。
      

  3.   


    呵呵,倒过来是肯定可以通过寄存器来修改的,不过一般android的camera升级是不会升级到kernel里面的代码了。所以更不会涉及到camera客制化的东西。应该不是kernel里面引起的。不过谢谢了
      

  4.   

    改动的代码实在是太多了。很难确定是哪里引起的。不过现在有方向了,应该是bug分配出的问题。新代码在bug上做了不少的修改。不过谢谢你了。
      

  5.   


    嗯是有道理 那么你调白平衡或者effect是否还是绿的? 
      

  6.   

    如果排除硬件的问题的话可能有以下问题你拍摄的照片是好的,但是预览定格的时候显示绿条
    那么是你的预览参数设置错误,看下camera.getParameters中参数设置是否正确,如果你的Parmeters中高宽参数不符合相机高宽的话就会有绿条。
    如果是你的图片存储有绿条就应该看你存储照片的格式像素方面的问题,具体就是camera.takePicture中参数,看下参数类的实现方法。
    如果2个都没问题。底层,框架,硬件问题
      

  7.   

    找找看有木有memset(buffer,0,buffer_size)的操作
      

  8.   

    谢谢。现在解决了,确实是在设置中出了问题。是在升级代码的时候camera.state的状态代码被去掉了。应该早些设置成capture的到后面才设置,导致其中一个bug重新申请,并申请的是preview的bug,所以在拍照是就出现了buffer的问题了。最后导致绿了。