Exemplo n.º 1
0
        //switches between front and back cameras when button is clicked
        void SwitchCameraButtonTapped(object sender, EventArgs e)
        {
            //if camera isn't started
            if (!_isCameraStarted)
            {
                return;
            }

            if (cameraType == CameraFacing.Front)
            {
                cameraType = CameraFacing.Back;

                camera.StopPreview();
                camera.Release();
                camera = Android.Hardware.Camera.Open((int)cameraType);
                camera.SetPreviewTexture(surfaceTexture);
                PrepareAndStartCamera();
            }
            else
            {
                cameraType = CameraFacing.Front;

                camera.StopPreview();
                camera.Release();
                camera = Android.Hardware.Camera.Open((int)cameraType);
                camera.SetPreviewTexture(surfaceTexture);
                PrepareAndStartCamera();
            }
        }
        public bool OnSurfaceTextureDestroyed(SurfaceTexture surface)
        {
            camera.StopPreview();
            camera.Release();

            return(true);
        }
        private void FlashLight()
        {
            if (camera == null || mParams == null)
            {
                return;
            }


            if (!isFlashLight)
            {
                player.Start();
                //mParams = camera.GetParameters();
                //mParams.FlashMode = Parameters.FlashModeTorch;
                //camera.SetParameters(mParams);
                //camera.StartPreview();
                //isFlashLight = true;
                //btnFlash.SetImageResource(Resource.Drawable.power_on);
                camera.Release();
                camera = null;
                camera = Android.Hardware.Camera.Open();
                Android.Hardware.Camera.Parameters mParams = camera.GetParameters();
                mParams.FlashMode = (Android.Hardware.Camera.Parameters.FlashModeTorch);
                camera.SetParameters(mParams);
                var mPreviewTexture = new SurfaceTexture(0);

                camera.SetPreviewTexture(mPreviewTexture);

                camera.StartPreview();
                btnFlash.SetImageResource(Resource.Drawable.power_on);
                isFlashLight = true;
            }
            else
            {
                //camera.Release();
                //camera.StopPreview();
                //camera = null;
                //player.Start();
                //mParams = camera.GetParameters();
                //mParams.FlashMode = Parameters.FlashModeOff;
                //camera.SetParameters(mParams);
                //camera.StartPreview();
                //isFlashLight = false;
                //btnFlash.SetImageResource(Resource.Drawable.power_off);
                camera.Release();
                camera = null;
                camera = Android.Hardware.Camera.Open();
                Android.Hardware.Camera.Parameters mParams = camera.GetParameters();
                mParams.FlashMode = (Android.Hardware.Camera.Parameters.FlashModeOff);
                camera.SetParameters(mParams);
                var mPreviewTexture = new SurfaceTexture(0);

                camera.SetPreviewTexture(mPreviewTexture);

                camera.StartPreview();
                btnFlash.SetImageResource(Resource.Drawable.power_off);
                isFlashLight = false;
            }
        }
Exemplo n.º 4
0
 public bool OnSurfaceTextureDestroyed(SurfaceTexture surface)
 {
     if (camEnabled)
     {
         camera.StopPreview();
         camera.Release();
         cameraClosed = true;
     }
     return(true);
 }
Exemplo n.º 5
0
        private void SwitchCameraButton_Click(object sender, EventArgs e)
        {
            if (Android.OS.Build.VERSION.SdkInt >= Android.OS.BuildVersionCodes.Lollipop)
            {
                string[] camPermissions = { Android.Manifest.Permission.Camera };

                // Make sure we can use the camera
                if ((int)Android.OS.Build.VERSION.SdkInt >= 23 && Activity.CheckSelfPermission(camPermissions[0]) != (Permission.Granted))
                {
                    Toast.MakeText(Activity, AppResources.Camera_permissionNeeded, ToastLength.Long).Show();
                    Activity.RequestPermissions(camPermissions, CamPermReqId);
                    return;
                }

                mCameraDevice.Close();

                int newCamIndex = backCam ? 1 : 0;
                backCam = !backCam;

                try
                {
                    OpenCamera(newCamIndex);
                }
                catch (System.Exception ex)
                {
                    System.Console.WriteLine(ex);
                }
            }
            else
            {
                if (cameraType == CameraFacing.Front)
                {
                    cameraType = CameraFacing.Back;

                    camera.StopPreview();
                    camera.Release();
                    camera = Android.Hardware.Camera.Open((int)cameraType);
                    camera.SetPreviewTexture(surfaceTexture);
                    PrepareAndStartCamera1();
                }
                else
                {
                    cameraType = CameraFacing.Front;

                    camera.StopPreview();
                    camera.Release();
                    camera = Android.Hardware.Camera.Open((int)cameraType);
                    camera.SetPreviewTexture(surfaceTexture);
                    PrepareAndStartCamera1();
                }
            }
        }
Exemplo n.º 6
0
        public void ShutdownCamera()
        {
            if (camera == null)
            {
                return;
            }

            try
            {
                try
                {
                    camera.StopPreview();
                    camera.SetNonMarshalingPreviewCallback(null);

                    camera.SetPreviewDisplay(null);
                }
                catch (Exception ex)
                {
                    System.Diagnostics.Debug.WriteLine(ex.ToString());
                }

                camera.Release();
                camera = null;
            }
            catch (Exception e)
            {
                System.Diagnostics.Debug.WriteLine(e.ToString());
            }
        }
Exemplo n.º 7
0
 protected override void OnDestroy()
 {
     camera?.StopPreview();
     camera?.Release();
     camera = null;
     base.OnDestroy();
 }
Exemplo n.º 8
0
 public override void OnDestroy()
 {
     _camera.StopPreview();
     _camera.Release();
     _cameraReleased = true;
     base.OnDestroy();
 }
Exemplo n.º 9
0
        public void ShutdownCamera()
        {
            if (Camera == null)
            {
                return;
            }


            try
            {
                try
                {
                    Camera.StopPreview();


                    //Camera.SetPreviewDisplay(null);
                }
                catch (Exception ex)
                {
                    //Android.Util.Log.Error(MobileBarcodeScanner.TAG, ex.ToString());
                }
                Camera.Release();
                Camera = null;
            }
            catch (Exception e)
            {
                //Android.Util.Log.Error(MobileBarcodeScanner.TAG, e.ToString());
            }
        }
Exemplo n.º 10
0
        private async void TakePhotoButtonTapped(object sender, EventArgs e)
        {
            try
            {
                camera.StopPreview();
                camera.Release();

                var image = textureView.Bitmap;
                using (var imageStream = new MemoryStream())
                {
                    await image.CompressAsync(Bitmap.CompressFormat.Jpeg, 50, imageStream);

                    image.Recycle();
                    imageBytes = imageStream.ToArray();
                }
                var cea = await GetCardAsync(id);

                OnCardRead(cea);
                Finish();
            }
            catch (Exception ex)
            {
                OnCardRead(new CardReadEventArgs(id, ex));
                Finish();
            }
        }
Exemplo n.º 11
0
        public void ShutdownCamera()
        {
            if (Camera == null)
            {
                return;
            }

            // camera release logic takes about 0.005 sec so there is no need in async releasing
            var perf = PerformanceCounter.Start();

            try
            {
                try
                {
                    Camera.SetPreviewCallback(null);
                    Camera.SetPreviewDisplay(null);
                    Camera.StopPreview();
                }
                catch (Exception ex)
                {
                    Android.Util.Log.Error(MobileBarcodeScanner.TAG, ex.ToString());
                }
                Camera.Release();
                Camera = null;
            }
            catch (Exception e)
            {
                Android.Util.Log.Error(MobileBarcodeScanner.TAG, e.ToString());
            }

            PerformanceCounter.Stop(perf, "Shutdown camera took {0}ms");
        }
Exemplo n.º 12
0
 public void SurfaceDestroyed(ISurfaceHolder holder)
 {
     // TODO Auto-generated method stub
     camera.StopPreview();
     camera.Release();
     camera     = null;
     previewing = false;
 }
Exemplo n.º 13
0
        public bool OnSurfaceTextureDestroyed(
            Android.Graphics.SurfaceTexture surface)
        {
            _camera.StopPreview();
            _camera.Release();

            return(true);
        }
Exemplo n.º 14
0
        void SwitchCameraType()
        {
            if (Android.Hardware.Camera.NumberOfCameras != 2)
            {
                return;
            }
            camera.StopPreview();
            camera.Release();

            if (Element.CameraType == CameraType.Rear)
            {
                SetupLiveCameraStream(0);
            }
            else
            {
                SetupLiveCameraStream(1);
            }
        }
 public void SurfaceDestroyed(ISurfaceHolder holder)
 {
     //stop the preview
     mCamera.StopPreview();
     //release the camera
     mCamera.Release();
     //unbind the camera from this object
     mCamera = null;
 }
Exemplo n.º 16
0
 public void SurfaceDestroyed(ISurfaceHolder holder)
 {
     if (_camera != null)
     {
         _camera.StopPreview();
         _camera.Release();
         _camera = null;
     }
 }
Exemplo n.º 17
0
 private void StopCamera()
 {
     if (_isRunning)
     {
         _camera?.StopPreview();
         _camera?.Release();
         _camera    = null;
         _isRunning = false;
     }
 }
Exemplo n.º 18
0
 // Stop preview and release the camera
 private void stopPreviewAndReleaseCamera()
 {
     if (camera != null)
     {
         camera.SetPreviewCallbackWithBuffer(null);
         stopPreview();
         camera.Release();
         camera = null;
     }
 }
Exemplo n.º 19
0
 protected override void OnPause()
 {
     base.OnPause();
     releaseMediaRecorder();
     if (camera != null)
     {
         camera.Release();
     }
     camera = null;
     GC.Collect();
 }
Exemplo n.º 20
0
 public bool OnSurfaceTextureDestroyed(SurfaceTexture surface)
 {
     if (_camera == null)
     {
         return(true);
     }
     _orientationListener.Disable();
     _camera.CancelAutoFocus();
     _camera.StopPreview();
     _camera.Release();
     return(true);
 }
Exemplo n.º 21
0
 private void CameraClose(bool isPreviewClosing)
 {
     if (camera != null)
     {
         if (isPreviewClosing)
         {
             camera.StopPreview();
         }
         camera.Release();
         camera = null;
     }
 }
Exemplo n.º 22
0
        public void ShutdownCamera()
        {
            tokenSource.Cancel();

            if (camera != null)
            {
                camera.SetPreviewCallback(null);
                camera.StopPreview();
                camera.Release();
                camera = null;
            }
        }
Exemplo n.º 23
0
    public void onPause()
    {
        if (inPreview)
        {
            camera.StopPreview();
        }

        camera.Release();
        camera = null;
        inPreview = false;
        base.OnPause();
    }
Exemplo n.º 24
0
        public override void OnPause()
        {
            base.OnPause();

            _camera?.Release();
            _camera = null;

            _orientationListner.Disable();

            _holder.RemoveCallback(this);
            _holder.Dispose();
            _holder = null;
        }
Exemplo n.º 25
0
        public void SwitchCamera(object sender, EventArgs e)
        {
            if (_camera != null)
            {
                _camera.StopPreview();
                _camera.Release();
                _camera = null;
            }

            var cameraToSwitch = _cameraId == 0 ? 1 : 0;

            EnableCamera(cameraToSwitch);
        }
 private void releaseCameraAndPreview()
 {
     if (mCamera != null)
     {
         mCamera.StopPreview();
         mCamera.Release();
         mCamera = null;
     }
     if (mPreview != null)
     {
         mPreview.DestroyDrawingCache();
         mPreview.mCamera = null;
     }
 }
Exemplo n.º 27
0
        protected override void OnPause()
        {
            base.OnPause();
            BinaryFormatter formatters = new BinaryFormatter();

            using (Stream stream = File.Open(ImagePath + "lessons", FileMode.OpenOrCreate))
                formatters.Serialize(stream, lessons);
            if (mCamera != null)
            {
                mPreview.PreviewCamera = null;
                mCamera.Release();
                mCamera = null;
            }
        }
        public void SurfaceCreated(ISurfaceHolder holder)
        {
            // The Surface has been created, acquire the camera and tell it where
            // to draw the preview.

            mCamera = Android.Hardware.Camera.Open(1);
            Log.Debug("", "camera opened!!!");

            try
            {
                mCamera.SetPreviewDisplay(holder);
            } catch (Java.IO.IOException exception) {
                mCamera.Release();
                mCamera = null;
            }
        }
Exemplo n.º 29
0
        public override void Dispose()
        {
            if (Camera != null)
            {
                Stop();
                Camera.Release();
                Camera.Dispose();
                Camera = null;
            }

            if (Texture != null)
            {
                Texture.Release();
                Texture.Dispose();
                Texture = null;
            }
        }
Exemplo n.º 30
0
        public void SwitchCamera(object sender, EventArgs e)
        {
            _revertButton.Enabled = false;

            if (_camera != null)
            {
                _camera.StopPreview();
                _camera.Release();
                _camera = null;
            }

            var cameraToSwitch = _cameraId == 0 ? 1 : 0;

            EnableCamera(cameraToSwitch);

            _revertButton.Enabled = true;
        }
Exemplo n.º 31
0
      private bool CreateCamera(int cameraIndex)
      {
#if !DEBUG
         try
#endif
         {
            StopCamera();
            _camera = Camera.Open(cameraIndex);
            _camera.SetPreviewDisplay(_surfaceHolder);
            if (OnCameraCreated != null)
            {
               if (_cameraInfo == null)
                  _cameraInfo = new Android.Hardware.Camera.CameraInfo();

               Camera.GetCameraInfo(cameraIndex, _cameraInfo);
               OnCameraCreated(this, new CameraInfoEventArgs(_camera, _cameraInfo));
            }
         }
#if !DEBUG
         catch (Exception excpt)
         {
            _camera.Release();
            _camera = null;

            while (excpt.InnerException != null)
               excpt = excpt.InnerException;
            
            Report.Error(Context.PackageName, String.Format("Unable to create camera: {0}", excpt.Message));

            return false;
            // TODO: add more exception handling logic here
         }
#endif

         return true;
      }
Exemplo n.º 32
0
        public void SurfaceCreated(ISurfaceHolder holder)
        {
            // The Surface has been created, acquire the camera and tell it where
            // to draw.
            camera = Camera.Open ();

            try {
                camera.SetPreviewDisplay (holder);
            } catch (Exception) {
                camera.Release ();
                camera = null;
                // TODO: add more exception handling logic here
            }
        }