Ejemplo n.º 1
0
        private void UpdatePreview()
        {
            if (CameraDevice == null || CameraCaptureSession == null)
            {
                return;
            }

            CaptureRequestBuilder.Set(CaptureRequest.ControlMode, new Java.Lang.Integer((int)ControlMode.Auto));
            var thread = new HandlerThread("CameraPreview");

            thread.Start();
            var backgroundHandler = new Handler(thread.Looper);

            CameraCaptureSession.SetRepeatingRequest(CaptureRequestBuilder.Build(), null, backgroundHandler);
        }
Ejemplo n.º 2
0
        protected override void CreateCameraCaptureSession()
        {
            try
            {
                CaptureRequestBuilder = CameraDevice.CreateCaptureRequest(CameraTemplate.StillCapture);
                CaptureRequestBuilder.AddTarget(_imageReader.Surface);

                var surfaces = new List <Surface>
                {
                    _imageReader.Surface
                };

                CameraDevice.CreateCaptureSession(surfaces, CameraCaptureSessionStateHandler, null);
            }
            catch (CameraAccessException e)
            {
                e.PrintStackTrace();
            }
        }
Ejemplo n.º 3
0
        public void StartPreview()
        {
            if (CameraDevice == null || !this.IsAvailable || previewSize == null)
            {
                return;
            }

            var texture = this.SurfaceTexture;

            texture.SetDefaultBufferSize(previewSize.Width, previewSize.Height);
            var surface = new Surface(texture);

            CaptureRequestBuilder = CameraDevice.CreateCaptureRequest(CameraTemplate.Preview);
            CaptureRequestBuilder.AddTarget(surface);

            CameraDevice.CreateCaptureSession(new List <Surface> {
                surface
            },
                                              GetYsCameraCaptureSessionStateCallback(),
                                              null);
        }