From a1050c902b10993d19a3227edabf399f5bdf0ed9 Mon Sep 17 00:00:00 2001 From: Leo Ma Date: Fri, 4 Nov 2016 16:55:39 +0800 Subject: [PATCH] Improve camera open method Signed-off-by: Leo Ma --- .../main/java/net/ossrs/yasea/SrsCameraView.java | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/net/ossrs/yasea/SrsCameraView.java b/app/src/main/java/net/ossrs/yasea/SrsCameraView.java index 9f3089c..a6fa92a 100644 --- a/app/src/main/java/net/ossrs/yasea/SrsCameraView.java +++ b/app/src/main/java/net/ossrs/yasea/SrsCameraView.java @@ -8,6 +8,7 @@ import android.opengl.GLES20; import android.opengl.GLSurfaceView; import android.opengl.Matrix; import android.util.AttributeSet; +import android.util.Log; import android.widget.Toast; import com.seu.magicfilter.base.gpuimage.GPUImageFilter; @@ -219,7 +220,20 @@ public class SrsCameraView extends GLSurfaceView implements GLSurfaceView.Render }); worker.start(); - mCamera = Camera.open(mCamId); + Camera.CameraInfo info = new Camera.CameraInfo(); + int numCameras = Camera.getNumberOfCameras(); + for (int i = 0; i < numCameras; i++) { + Camera.getCameraInfo(i, info); + if (info.facing == Camera.CameraInfo.CAMERA_FACING_FRONT) { + mCamera = Camera.open(i); + mCamId = i; + break; + } + } + if (mCamera == null) { + mCamera = Camera.open(); + mCamId = 0; + } Camera.Parameters params = mCamera.getParameters(); Camera.Size size = mCamera.new Size(mPreviewWidth, mPreviewHeight);