2012-08-08 27 views
6

Ho un problema. Dopo aver inizializzato la fotocamera per un'anteprima e aver messo a fuoco un'altra app, torna alla mia app: l'anteprima viene visualizzata in nero. Se continuo a scattare una foto, scatta una foto di dove punto la fotocamera normalmente.OnResume Camera Reinit Black Screen

Sto facendo qualcosa di sbagliato nell'override di OnResume()? Il relativo codice è qui sotto:

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(); 
    } 

Grazie per il vostro aiuto. :)

risposta