繁体   English   中英

带自动对焦和闪光灯的相机应用

[英]Camera app with Auto Focus and Flash Light

我在android中开发相机应用程序(不使用intent),在其中我实现了自动对焦和闪光灯功能。 如果我实现任何一项功能,它都可以正常工作。 但是,在同时添加自动对焦和闪光灯功能后,它可以在LG nexus和其他具有闪光灯的手机中强制关闭。 我将以下代码用于自动对焦和闪光灯。

public boolean onKeyDown(int keyCode, KeyEvent event) 
{
    if (keyCode == KeyEvent.KEYCODE_VOLUME_UP || keyCode == KeyEvent.KEYCODE_VOLUME_DOWN)
    {
        event.startTracking();
        camera.autoFocus(autoFocusCallback);
        Parameters p = camera.getParameters();
        p.setFocusMode(Parameters.FOCUS_MODE_AUTO);

        if(this.getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH))
        {

            p.setFlashMode(Parameters.FLASH_MODE_ON);
            camera.setParameters(p);
            camera.startPreview();
            camera.takePicture(shutterCallback, rawCallback, jpgCallback);
        }

        else
        {
            camera.startPreview();
            camera.takePicture(shutterCallback, rawCallback, jpgCallback);
        }
        return true;

    }
    return super.onKeyDown(keyCode, event);
}

     private AutoFocusCallback autoFocusCallback = new AutoFocusCallback() 
    {

     @Override
     public void onAutoFocus(boolean autoFocusSuccess, Camera camera)
      {
            camera.takePicture(shutterCallback, rawCallback, jpgCallback);
              if (autoFocusHandler != null)
              {
                 Message message = autoFocusHandler.obtainMessage(autoFocusMessage, success);
                 autoFocusHandler.sendMessageDelayed(message, AUTOFOCUS_INTERVAL_MS);
                  autoFocusHandler = null;
               }
               else
               {

               }
    }
};

这是我得到的错误日志。

http://txtup.co/WCYjl

可能是什么问题。 请帮忙! 谢谢!

刚刚快速浏览了Camera文档,就好像您错过了Surface Holder。

重要说明:将完全初始化的SurfaceHolder传递给setPreviewDisplay(SurfaceHolder)。 没有表面,相机将无法开始预览。

阅读文档: http : //developer.android.com/reference/android/hardware/Camera.html

这是显示如何使用它的答案: https : //stackoverflow.com/a/3964460/2045570

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM