android系统中,在htc手机上设置焦距
我在做相机开发,想设置其焦距
这是我从网上找到关于焦距设置的方案
就是手机上有个应用!它是可以实现变焦的!但是,我的应用不行;
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这款软件,也实现了变焦!
不知道他们是怎么实现的!!???
请高手指教
[解决办法]
taking-picture-zoom 这个应该是htc自己搞的个东西,标准里面没有看到这个的。
我的感觉,你作的应该是类似数码变焦的效果吧。Camera.getParameters().setZoom(zoom);这个动作之后,要让他生效,你还要调用Camera.setParameters().