请问 android  相机 怎么变焦啊:
我查了api2.2
说是调用这个函数就好了
mCamera.startSmoothZoom(zoom);
但是,调用了没有任何反应!
然后,尝试了:
mCamera.getParameters().setZoom(zoom);
也没有任何反应
说是zoom改变会调用ZoomChangeListener,于是我加了监听,但是监听一直都未被调用过
mCamera.setZoomChangeListener();请教各位大侠,这个应该怎么搞呀?

解决方案 »

  1.   

    有个bool型的 support判断 忘记什么变量名了
    首先要确定硬件支持startSmoothZoom才可以 使support值置为true你要是研究通了顺便给我看看我这个帖子的问题哈
    http://topic.csdn.net/u/20110513/15/767abaee-277a-48c2-9ab1-6bdedffa168d.html?55130
      

  2.   

    我检查了一下,我的手机的确不支持
    startSmoothZoom(),我想问一下,不支持这个还能变焦吗???
    我看了手机自带的应用,是可以变焦的!那么变焦要怎么实现呢?
      

  3.   


    自带的应用可以变焦? 什么意思? 是说有变焦的smooth滑动条但是没有改变zoom的效果,还是说手机里有应用可以实现变焦,但是你自己的应用却不行。 
      

  4.   

    就是手机上有个应用!它是可以实现变焦的!但是,我的应用不行;Camera.getParameters().isZoomSupported() -->true
    Camera.getParameters().isSmoothZoomSupported()  -->false这种情况下,我怎么才能实现变焦呢??我有两个手机:
    A.moto me1 ZoomSupported和SmoothZoom都是支持的,我测试了,可以实现变焦!
    B.HTC G8就是上面这种情况,ZoomSupported支持,SmoothZoom不支持,所以调用:Camera.startSmoothZoom(zoom)就没反应了,但是它手机上带了一个拍照程序,有变焦功能,说明SmoothZoom不支持的情况下应该也是可以实现变焦功能的!
    我尝试了,使用
    Camera.getParameters().setZoom(zoom);
    或者:
    Camera.Parameters localParameters = mCamera.getParameters();
    mCamera.getParameters().set("taking-picture-zoom", zoom);
    localParameters.set("taking-picture-zoom", zoom);
    都没反应!
    是不是改变了zoom后,还需要是操作???
    另外我将,HTC自带的拍照程序反编译了一下,它代码里,没有发现调用过:
    Camera.startSmoothZoom(zoom);
    但是有发现,调用过:
    Camera.Parameters localParameters = mCamera.getParameters();
    mCamera.getParameters().set("taking-picture-zoom", zoom);
    localParameters.set("taking-picture-zoom", zoom);
    还有就是发现它用了一个.so的动态链接库!还有,Camera360这款软件,也实现了变焦!不知道他们是怎么实现的!!???请高手指教
      

  5.   


    你自己都已经把问题解决了一大半了Camera.Parameters localParameters = mCamera.getParameters();
    mCamera.getParameters().set("taking-picture-zoom", zoom);
    localParameters.set("taking-picture-zoom", zoom);
    这是多种实现方法的其中一种
    改变当前的zoom value 
    要看是在preview时候也动态获得变焦图像 还是单纯的可照出 *1 *2 *3 *4 ...的照片了 这么看区别就大了
    总结来说 是看zoom是get的 还是set的 
      

  6.   

    不明白!问题还是没有解决!
    我在初始化的时候,就把zoom set进去了,但是还是没有反应!说明set zoom是没有用的!
    说是setZoom是android2.2以后才支持的,但是HTC g8是2.2的内核!为什么却没有用呢!
    那到底修改什么值,才能有用呢!这是为什么呢!? $_$
      

  7.   


    你好,请问如果我在android 的应用里把Zoom的调节选项给去掉,在HAL层应该怎么做?我在HAL写的不支持该功能,但是应用还显示支持ZOOM
      

  8.   

    楼主解决了吗?我也碰到这样的问题,我用的是HTC HD.
      

  9.   

       String zoomSupportedString = parameters.get("zoom-supported");    
        if (zoomSupportedString != null && !Boolean.parseBoolean(zoomSupportedString)) 
        {  
     
          break;  
     
        }  
    这是判断是否支持的。我手机支持。怎么设置大小呢?用 parameters.setZoom(int arg0);吗?
      

  10.   

    我也在做android相机的开发,遇到设置焦距的问题,不知道那位解决这个问题了吗?能不能把代码贴一下,谢谢啊
      

  11.   

    引用 6 楼 binbin0357 的回复:
    不明白!问题还是没有解决!
    我在初始化的时候,就把zoom set进去了,但是还是没有反应!说明set zoom是没有用的!
    说是setZoom是android2.2以后才支持的,但是HTC g8是2.2的内核!为什么却没有用呢!
    那到底修改什么值,才能有用呢!这是为什么呢!? $_$
    我的htc G7也遇到这个问题,不知道该怎么办,?那位大侠帮帮忙。谢谢啊
      

  12.   

    我也遇到这个问题了,setzoom 不行,不知道该怎么办?楼主有htccamera反编译的代码,能不能给发一份,我也想看看,我的qq1149598411.可以发到qq邮箱里面
      

  13.   

    isSmoothZoomSupported ----true,才可以设置,否则不可以设置变焦的