直接上代码
private fun getCamera() {
// 获取系统相机服务
val cameraManager =
requireContext().getSystemService(Context.CAMERA_SERVICE) as? CameraManager
if (cameraManager != null) {
// 在这里进行相机管理器的操作
// 获取相机设备的 ID(这里假设使用第一个相机)
val cameraId = cameraManager.cameraIdList[0]
// 获取相机设备的特性
val characteristics = cameraManager.getCameraCharacteristics(cameraId)
// 获取相机支持的分辨率列表
val streamConfigurationMap =
characteristics.get(CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP)
val outputSizes: Array<Size> =
streamConfigurationMap?.getOutputSizes(ImageFormat.JPEG) ?: arrayOf()
// 输出分辨率数量
val resolutionCount = outputSizes.size
Log.e(TAG, "相机支持的分辨率数量: $resolutionCount")
// 输出每个分辨率
for (size in outputSizes) {
Log.e(TAG, "分辨率: ${size.width} x ${size.height}")
}
} else {
// 处理获取相机管理器失败的情况
Log.e(TAG, "获取相机管理器失败")
}
}