android studio 31拍照代码
时间: 2024-09-26 15:07:04 浏览: 30
在Android Studio 3.1及更高版本中,使用CameraX库可以简化拍照功能的集成。下面是一个基本的示例,展示了如何使用CameraX API拍摄照片:
```java
// 首先,确保添加了CameraX依赖
implementation 'androidx.camera:camera-core:1.0.0'
implementation 'androidx.camera:camera-camera2:1.0.0'
implementation 'androidx.camera:camera-lifecycle:1.0.0'
// 创建相机选择器
private CameraSelector cameraSelector = new CameraSelector.Builder()
.requireLensFacing(CameraSelector.LENS_FACING_BACK)
.build();
// 获取相机实例
ImageCaptureConfig config = ImageCaptureConfig.Builder().build();
ImageCapture imageCapture = ImageCapture.open(cameraSelector);
// 开始拍照任务
imageCapture.takePicture(new ImageCapture.OnResultCallback() {
@Override
public void onResult(@NonNull ImageProxy image) {
// 图片捕获完成后,处理图像数据
try (FileOutputStream fos = new FileOutputStream("path_to_save.jpg")) {
image.getBitmap().compress(Bitmap.CompressFormat.JPEG, 85, fos);
} catch (IOException e) {
e.printStackTrace();
}
// 关闭相机
imageCapture.close();
}
});
```
注意:
1. 确保在AndroidManifest.xml中添加了`<uses-permission android:name="android.permission.CAMERA" />`权限。
2. 检查设备是否支持所选摄像头特性,并处理可能出现的错误。
阅读全文