2014-01-14 1 views
0
public static Camera getCameraInstance() { 
     Camera c = null; 
     try { 
      c = Camera.open(); // attempt to get a Camera instance 
      if (c != null) { 
       Camera.Parameters params = c.getParameters(); 
       params.setRotation(90); 
       c.setParameters(params); 
      } 
     } catch (Exception e) { 
      Log.d("DEBUG", "Camera did not open"); 
      // Camera is not available (in use or does not exist) 

     } 
     return c; // returns null if camera is unavailable 
    } 

OnCreate:Почему видео помех камеры в Android 2.3?

// Create an instance of Camera 
      mCamera = getCameraInstance(); 
mPreview = new CameraPreview(this, mCamera); 
preview = (FrameLayout) findViewById(R.id.camera_preview); 
      preview.addView(mPreview); 

CameraPreview:

public CameraPreview(Context context, Camera camera) { 
     super(context); 
     mCamera = camera; 

     // Install a SurfaceHolder.Callback so we get notified when the 
     // underlying surface is created and destroyed. 
     mHolder = getHolder(); 
     mHolder.addCallback(this); 
     // deprecated setting, but required on Android versions prior to 3.0 
     mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS); 
    } 

Я с помощью MediaRecorder записи видео. Результат: enter image description here если я тестирую на устройстве Android 4.0, результат в порядке. но в android 2.3 это помеха Почему видео помех камеры в Android 2.3? (Примечание: Захват изображения, все в порядке.)

ответ

1

Это всего лишь одна потенциальная проблема. Из документов:

// deprecated setting, but required on Android versions prior to 3.0 
     mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS); 

Вы не используете API камеры правильно. Пожалуйста, посмотрите на Android Guide о том, как создать приложение для камеры.

+0

Я установил в CameraPreview – mum

+0

Вы действительно используете обратные вызовы? – Emmanuel

+0

Да: mHolder.addCallback (this); – mum

Смежные вопросы