思路:利用Camera和SurfaceHolder
步骤
**
1.创建布局文件,初始化控件
**
利用SurfaceView进行相机预览
<SurfaceView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/sv_camera"/>
在Activity中初始化控件,注意与SurfaceView一起使用的还有SurfaceHolder
private void initViews(){
//初始化控件
mSurfaceView=findViewById(R.id.sv_camera);
mSurfaceHoder=mSurfaceView.getHolder();
mSurfaceHoder.addCallback(this);//添加回调接口,这一句很重要,一定要添加
}
**
2.调用摄像头
**
需要注意的是,摄像头有2个,前置摄像头和后置摄像头。
不同的机型,对应的摄像头ID可能不一样,以我的为例。
private Camera mCamera;
private final int CAMERA_FRONT=1;//前置摄像头
private final int CAMERA_BEHIND=0;//后置摄像头
**
3.在对应的Activity实现SurfaceHolder.CallBack
**
public class CameraActivity extends AppCompatActivity implements SurfaceHolder.Callback
实现这个接口的方法
@Override
public void surfaceCreated(SurfaceHolder holder) {
//SurfaceView创建时调用
}
@Override
public<