snapcam对焦失败导致无法拍照

问题:相机中,连续4、5次点屏手动对焦,会出现对焦框不消失,此时无法拍照
分析:
底层对焦没有返回,导致上层卡死
方案:
添加对焦超时机制,超时后直接判定为对焦失败

Index: packages/apps/SnapdragonCamera/src/com/android/camera/PhotoModule.java
===================================================================
--- packages/apps/SnapdragonCamera/src/com/android/camera/PhotoModule.java	(版本 1795)
+++ packages/apps/SnapdragonCamera/src/com/android/camera/PhotoModule.java	(版本 1798)
@@ -1430,6 +1430,8 @@
         public void onAutoFocus(
                 boolean focused, CameraProxy camera) {
             if (mPaused) return;
+            Log.d(TAG, "onAutoFocus focused = " + focused + ", and remove timeout runnable!");
+            mHandler.removeCallbacks(focusTimeoutResetStateRunnable); // @ + for BUG #
 
             mAutoFocusTime = System.currentTimeMillis() - mFocusStartTime;
             Log.v(TAG, "mAutoFocusTime = " + mAutoFocusTime + "ms");
@@ -2497,6 +2499,12 @@
         mFocusStartTime = System.currentTimeMillis();
         mCameraDevice.autoFocus(mHandler, mAutoFocusCallback);
         setCameraState(FOCUSING);
+        // @ + for BUG # {
+        if (mHandler.hasCallbacks(focusTimeoutResetStateRunnable)) {
+            mHandler.removeCallbacks(focusTimeoutResetStateRunnable);
+        }
+        mHandler.postDelayed(focusTimeoutResetStateRunnable, DELAY_TIME);
+        // @ + for BUG # }
     }
 
     @Override
@@ -2508,6 +2516,18 @@
         }
     }
 
+    // @ + for BUG # {
+    private final int DELAY_TIME = 5 * 1000; // 5s
+    Runnable focusTimeoutResetStateRunnable = new Runnable() {
+	    @Override
+        public void run() {
+            Log.d(TAG, "focus timeout and reset camera state");
+		    setCameraState(IDLE);
+            mFocusManager.onAutoFocus(false, false);
+        }
+    };
+    // @ + for BUG # }
+
     // Preview area is touched. Handle touch focus.
     @Override
     public void onSingleTapUp(View view, int x, int y) {
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
软件名称:快照相机 Snap Camera HDR 软件版本:v6.0.0 T1直装中文版 软件语言:中文 软件大小:5.1M Snap Camera(快照相机)是一款基于Nexus 4(Android 4.2)相机的图库和相机应用。Snap Camera的整体界面非常简洁,而且完全使用Android 4.2上的Holo风格。一键拍摄照片和录制视频,没有凌乱的预览界面,仅有两个您真正需要的按钮! 简洁、强大的用户界面: - 触摸可对焦 - 开合两根手指可缩放/变焦 - 滑动可查看照片/视频 - 触摸并按住可使用照片控制器来调整照片设置 照片控制器包括: - 颜色和对比度(如果硬件支持) - 关闭快门声 - 连拍模式 - 自拍定时器 - 全景模式 - 闪光灯模式 - 白平衡 - 曝光 - 网格线 - 快速拍摄模式 - HDR - 其他设置 其他设置菜单包括: - 照片和视频大小 - 取景模式 - 自拍定时器延时 - 连拍模式设置 - 延时拍摄 - 视频对焦方式 - JPEG质量 - 效果 - ISO - 防闪烁 - 取景检测 - 视频比特率 - 音频设置 照片编辑器包括: - 添加颜色效果 - 添加边框 - 修剪、旋转、镜像 - 拉直 - 添加图片效果 - 直方图修改 - 晕影 其他功能: - 您可通过历史记录菜单随时查看和撤销应用的效果 - 触摸分享图标可使用其他应用来分享图片javascript:; - 触摸全景图标可创建全景照片(Android 4.0及以上) - 快速拍摄模式可以预览分辨率快速捕获照片 - 在视频录制期间捕获快照 - 使用音量键来缩放和拍摄照片 - 在光线不足的环境下录制视频时自动打开闪光灯 - 可将界面更改为左手习惯模式 - 使用高级视频设置来录制其他相机不允许的分辨率的视频 更新: 支持camera2 API在棒棒糖 原图像捕捉,Nexus 5全帧视频和手动曝光控制

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值