html5中文学习网

您的位置: 首页 > android » 正文

Android Camera是否支持变焦的判断方法总结_Android

[ ] 已经帮助:人解决问题

最近老大交给了一个任务,说是要在本地视频端能够调节摄像头焦距。dUjHTML5中文学习网 - HTML5先行者学习网

碰到了一些问题:dUjHTML5中文学习网 - HTML5先行者学习网

1.手机支不支持摄像头变焦dUjHTML5中文学习网 - HTML5先行者学习网

2.系统自带摄像软件可以变焦,但是自己编写的程序不支持变焦,dUjHTML5中文学习网 - HTML5先行者学习网

这个问题网上也有很多童鞋碰到了:dUjHTML5中文学习网 - HTML5先行者学习网

复制代码 代码如下:
dUjHTML5中文学习网 - HTML5先行者学习网
public void setZoomIn(){dUjHTML5中文学习网 - HTML5先行者学习网
    try{dUjHTML5中文学习网 - HTML5先行者学习网
        params = camera.getParameters();dUjHTML5中文学习网 - HTML5先行者学习网
        zoomValue +=5;dUjHTML5中文学习网 - HTML5先行者学习网
        params.setZoom(zoomValue);dUjHTML5中文学习网 - HTML5先行者学习网
        camera.setParameters(params);dUjHTML5中文学习网 - HTML5先行者学习网
        Log.d(TAG, "Is support Zoom " + params.isZoomSupported());dUjHTML5中文学习网 - HTML5先行者学习网
    }catch (Exception e) {dUjHTML5中文学习网 - HTML5先行者学习网
        e.printStackTrace();dUjHTML5中文学习网 - HTML5先行者学习网
    }dUjHTML5中文学习网 - HTML5先行者学习网
}dUjHTML5中文学习网 - HTML5先行者学习网
dUjHTML5中文学习网 - HTML5先行者学习网
这段代码在Lg上可以运行,但是在htc sensation上crash了。dUjHTML5中文学习网 - HTML5先行者学习网
这哥们和我遇到了同样的问题,我的手机也是htc sensation哦。dUjHTML5中文学习网 - HTML5先行者学习网

请问 android 相机 怎么变焦啊:dUjHTML5中文学习网 - HTML5先行者学习网

我查了api2.2dUjHTML5中文学习网 - HTML5先行者学习网
说是调用这个函数就好了dUjHTML5中文学习网 - HTML5先行者学习网

复制代码 代码如下:
dUjHTML5中文学习网 - HTML5先行者学习网
mCamera.startSmoothZoom(zoom);dUjHTML5中文学习网 - HTML5先行者学习网
dUjHTML5中文学习网 - HTML5先行者学习网
但是,调用了没有任何反应!dUjHTML5中文学习网 - HTML5先行者学习网
然后,尝试了:dUjHTML5中文学习网 - HTML5先行者学习网
复制代码 代码如下:
dUjHTML5中文学习网 - HTML5先行者学习网
mCamera.getParameters().setZoom(zoom);dUjHTML5中文学习网 - HTML5先行者学习网
dUjHTML5中文学习网 - HTML5先行者学习网
也没有任何反应dUjHTML5中文学习网 - HTML5先行者学习网
说是zoom改变会调用ZoomChangeListener,于是我加了监听,但是监听一直都未被调用过dUjHTML5中文学习网 - HTML5先行者学习网
复制代码 代码如下:
dUjHTML5中文学习网 - HTML5先行者学习网
mCamera.setZoomChangeListener();dUjHTML5中文学习网 - HTML5先行者学习网
dUjHTML5中文学习网 - HTML5先行者学习网
其实问题比较简单:dUjHTML5中文学习网 - HTML5先行者学习网

第一:调用mCamera.getParameters().isSmoothZoomSupported()返回为false,则不支持变焦,设置zoom出错dUjHTML5中文学习网 - HTML5先行者学习网

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

所以在编写变焦摄像或者视频的时候就使用isSmoothZoomSupported判断,这样就不会再其他不支持变焦的手机上crash了。dUjHTML5中文学习网 - HTML5先行者学习网

(责任编辑:)
推荐书籍
推荐资讯
关于HTML5先行者 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助