服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Android - Android Camera是否支持变焦的判断方法总结

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

2021-03-19 14:08Android开发网 Android

这篇文章主要介绍了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了。

延伸 · 阅读

精彩推荐