Android Camera是否支持变焦的判断方法总结
程序员文章站
2022-06-23 10:24:31
最近老大交给了一个任务,说是要在本地视频端能够调节摄像头焦距。
碰到了一些问题:
1.手机支不支持摄像头变焦
2.系统自带摄像软件可以变焦,但是自己编写的程序不支持变...
最近老大交给了一个任务,说是要在本地视频端能够调节摄像头焦距。
碰到了一些问题:
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了。
上一篇: 机械师创物者14笔记本电脑开箱测评
下一篇: Android中捕获全局异常实现代码
推荐阅读