zoukankan      html  css  js  c++  java
  • Android Camera(一)

    最近老大交给了一个任务,说是要在本地视频端很够调节摄像头焦距。

    碰到了一些问题:

    1.手机支不支持摄像头变焦

    2.系统自带摄像软件可以变焦,但是自己编写的程序不支持变焦,

    这个问题网上也有很多童鞋碰到了:

    public void setZoomIn(){
        try{
            params = camera.getParameters();
            zoomValue +=5;
            params.setZoom(zoomValue);
            camera.setParameters(params);
            Log.d(TAG, "Is support Zoom " + params.isZoomSupported());
        }catch (Exception e) {
            e.printStackTrace();
        }
    }

    这段代码在Lg上可以运行,但是在htc sensation上crash了。

    这哥们和我遇到了同样的问题,我的手机也是htc sensation哦。

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

    其实问题比较简单:

    第一:调用mCamera.getParameters().isSmoothZoomSupported()返回为false,则不支持变焦,设置zoom出错

    第二:调用mCamera.getParameters().isZoomSupported()返回为true,mCamera.getParameters().isSmoothZoomSupported()返回为false,可能手机自带的摄像应用支持zoom,变焦,只是我们自己的应用就不行了。这个问题,我现在也没想到办法解决。

    所以在编写变焦摄像,说着视频的时候就使用isSmoothZoomSupported判断,这样就不会再其他不支持变焦的手机上crash了。

  • 相关阅读:
    Delphi 连接 Paradox
    编译MangosZero
    关于StartCoroutine的简单线程使用
    cocos2dc-x解决中文乱码
    C++类构造函数初始化列表
    dynamic_cast
    cocos2d-x for android:SimpleGame分析
    C++宏定义详解
    四 AndEngine 画线
    三 最简单的 AndEngine 程序框架
  • 原文地址:https://www.cnblogs.com/qingchen1984/p/4800985.html
Copyright © 2011-2022 走看看