Beispiel #1
0
 public void RunPrecaptureSequence()
 {
     try
     {
         // This is how to tell the camera to trigger.
         PreviewRequestBuilder.Set(CaptureRequest.ControlAePrecaptureTrigger, (int)ControlAEPrecaptureTrigger.Start);
         // Tell #mCaptureCallback to wait for the precapture sequence to be set.
         State = CameraState.WaitingPrecapture;
         CaptureSession.Capture(PreviewRequestBuilder.Build(), CaptureCallback, BackgroundHandler);
     }
     catch (CameraAccessException e)
     {
         e.PrintStackTrace();
     }
 }
 public void LockFocus()
 {
     try
     {
         // This is how to tell the camera to lock focus.
         PreviewRequestBuilder.Set(CaptureRequest.ControlAfTrigger, (int)ControlAFTrigger.Start);
         // Tell #mCaptureCallback to wait for the lock.
         State = CameraState.WaitingLock;
         CaptureSession.Capture(PreviewRequestBuilder.Build(), CaptureCallback, BackgroundHandler);
     }
     catch (CameraAccessException e)
     {
         e.PrintStackTrace();
     }
 }
Beispiel #3
0
        /// <summary>
        /// Lock the focus as the first step for a still image capture.
        /// </summary>
        private void LockFocus()
        {
            try
            {
                // This is how to tell the camera to lock focus.

                PreviewRequestBuilder.Set(CaptureRequest.ControlAfTrigger, (int)ControlAFTrigger.Start);
                // Tell #CaptureCallback to wait for the lock.
                CurrentCameraState = STATE_WAITING_LOCK;
                // this will kick off the image-capture pipeline
                CaptureSession.Capture(PreviewRequestBuilder.Build(), CaptureCallback, BackgroundHandler);
            }
            catch (CameraAccessException e)
            {
                e.PrintStackTrace();
            }
        }
        public void UnlockFocus()
        {
            try
            {
                // Reset the auto-focus trigger
                PreviewRequestBuilder.Set(CaptureRequest.ControlAfTrigger, (int)ControlAFTrigger.Cancel);
                SetAutoFlash(PreviewRequestBuilder);
                CaptureSession.Capture(PreviewRequestBuilder.Build(), CaptureCallback, BackgroundHandler);

                // After this, the camera will go back to the normal state of preview.
                State = CameraState.Preview;
                CaptureSession.SetRepeatingRequest(PreviewRequest, CaptureCallback, BackgroundHandler);
            }
            catch (CameraAccessException e)
            {
                e.PrintStackTrace();
            }
        }