写一个Android Studio打开视像头
时间: 2023-11-02 17:13:32 浏览: 67
这里是一个简单的Java代码,可以在Android Studio中打开视像头:
首先,在权限清单文件中添加相机权限:
```xml
<uses-permission android:name="android.permission.CAMERA" />
```
接下来,在您的活动中添加以下代码:
```java
// 获取Camera实例
Camera camera = Camera.open();
// 获取CameraPreview视图,并在布局中添加它
CameraPreview preview = new CameraPreview(this, camera);
FrameLayout previewLayout = findViewById(R.id.camera_preview);
previewLayout.addView(preview);
// 开始预览
camera.startPreview();
```
最后,创建CameraPreview类:
```java
public class CameraPreview extends SurfaceView implements SurfaceHolder.Callback {
private Camera camera;
public CameraPreview(Context context, Camera camera) {
super(context);
this.camera = camera;
// 监听SurfaceView
SurfaceHolder holder = getHolder();
holder.addCallback(this);
holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
}
@Override
public void surfaceCreated(SurfaceHolder holder) {
// 在SurfaceHolder创建时,将Camera与SurfaceView关联
try {
camera.setPreviewDisplay(holder);
camera.setDisplayOrientation(90);
} catch (IOException e) {
e.printStackTrace();
}
}
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
// 当SurfaceView的大小发生变化时,重新设置Camera的参数
Camera.Parameters parameters = camera.getParameters();
parameters.setPreviewSize(width, height);
camera.setParameters(parameters);
camera.startPreview();
}
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
// 当SurfaceView销毁时,停止Camera的预览并释放资源
camera.stopPreview();
camera.release();
}
}
```
以上就是一个简单的打开相机预览的方法,您可以根据自己的需求进行调整和修改。
阅读全文