Android 笔记 camera.takePicture(),使用flashMode,改变focusMode,continuous-picture中遇到的问题

在Android中使用camera.takePicture()时遇到问题,启用闪光灯拍照会导致预览无法恢复。解决办法是在拍照后调用cancelAutofocus(),再设置focusMode为continuous-picture,以避免预览画面冻结并影响其他APP。
摘要由CSDN通过智能技术生成

takePicture()的问题

在摄像头旧API的使用中,如果要保存全尺寸图像,只能通过takePicture()
分别是shutterCallback,pictureCallback,pictureCallback
第一个是快门键按下以后,第二个是RAW图像(如果支持的话)生成以后,第三个是jpeg图像生成以后
一般情况,在第三个Callback里面操作保存jpeg的动作,然后操作其他动作,比如startPreview(),改变对焦方式,等等

现在发现一个问题,在我按照自己的想法设置好操作以后,如果启用闪光灯拍照,会在拍照以后没有重新开始预览,也就是说startPreview()没有效果,测试表明,所有的callback都没有调用.
表现就是,预览界面静止不动,不能autofocus,但是可以切换摄像头以后恢复预览
而且,如果出现上述现象以后,再次重新开启APP以后,不使用闪光灯的拍照也会出现问题
再而且,如果出现上述现象以后,使用其他(非原厂)APP拍照,也会出现这样的问题。比如CAMERA360,NUBIA CAMERA等等
但是,手机重启以后,在不使用自己的APP之前使用其他APP拍照,完全没问题,使用闪光灯也没问题。
总结来说就是,这个现象会影响到其他app,可以猜测是因为某些全局因素的影响。

测试手机是note3 with android 5.0

mCamera.takePicture(null, null, new Camera.PictureCallback() {
            @Override
            public void onPictureTaken(byte[] data, Camera ca
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值