onCreate方法中
if(null == myCamera) {
// 打开前置摄像头
int cameraCount = 0;
@SuppressWarnings("unused")
Camera.CameraInfo cameraInfo = new Camera.CameraInfo();
cameraCount = Camera.getNumberOfCameras(); // get cameras number
for ( int camIdx = 0; camIdx < cameraCount;camIdx++ ) {
Camera.getCameraInfo( camIdx, cameraInfo ); // get camerainfo
if ( cameraInfo.facing ==Camera.CameraInfo.CAMERA_FACING_FRONT ) {
//代表摄像头的方位,目前有定义值两个分别为CAMERA_FACING_FRONT前置和CAMERA_FACING_BACK后置
try {
myCamera = Camera.open( camIdx );
} catch (RuntimeException e) {
e.printStackTrace();
break;
}
}
}
按钮的点击事件中:
myCamera.unlock();
if (null == mediarecorder) {
mediarecorder = new MediaRecorder();// 创建mediarecorder对象
}
mediarecorder.setCamera(myCamera);
// 设置录制视频源为Camera(相机)
mediarecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
或将上述代码都放在按钮的点击事件中。