Mam problem. Po uruchomieniu aparatu w celu podglądu i przywrócenia innej aplikacji, a następnie z powrotem do mojej aplikacji: podgląd jest czarny. Jeśli nadal będę robić zdjęcie, zrobię zdjęcie, w którym wskażę aparat w normalny sposób.Kamera OnResume Reinit Black Screen
Czy robię coś złego w override OnResume()? Kod względny znajduje się poniżej:
public void ReleaseCamera()
{
if (myCamera != null)
{
myCamera.Release();
myCamera = null;
}
}
protected override void OnPause()
{
base.OnPause();
if (myButtonState == ButtonState.CameraActive)
ReleaseCamera();
}
protected override void OnResume()
{
base.OnResume();
if (myButtonState == ButtonState.CameraActive)
InitializeCamera();
}
private void InitializeCamera()
{
SurfaceView mySurfaceView = FindViewById<SurfaceView>(Resource.Id.surfaceView1);
myCamera = Android.Hardware.Camera.Open(cameraNumber);
Android.Hardware.Camera.Parameters p = myCamera.GetParameters();
myCamera.SetDisplayOrientation(90); // Portrait
myCamera.SetPreviewDisplay(mySurfaceView.Holder);
myCamera.StartPreview();
}
Dziękuję za pomoc. :)
Dziękuję, używając Callback SurfaceHolder działało idealnie. :) – Ecnelis