我正在尝试制作一个简单的应用程序。捕获时不应用 SENSOR_SENSITIVITY 和 SENSOR_EXPOSURE_TIME 设置。 `cameraManager.openCamera(cameraId, 对象: CameraDevice.StateCallback() { 覆盖 fun onOpened(camera: CameraDevice) { 相机设备 = 相机 captureRequest =camera.createCaptureRequest(CameraDevice.TEMPLATE_STILL_CAPTURE)
captureRequest.set(CaptureRequest.CONTROL_AE_MODE, CaptureRequest.CONTROL_AE_MODE_OFF)
captureRequest.set(CaptureRequest.SENSOR_SENSITIVITY, 2000)
captureRequest.set(CaptureRequest.SENSOR_EXPOSURE_TIME, 10000000000)
imageReader = ImageReader.newInstance(
3000, // Replace with the desired image width
3000, // Replace with the desired image height
ImageFormat.JPEG, // Image format, you can change it if needed
1 // Max images that can be accessed at once
)
val captureRequest = captureRequest.build()
cameraDevice.createCaptureSession(
listOf(imageReader.surface, imageReader!!.surface),
object : CameraCaptureSession.StateCallback() {
override fun onConfigured(session: CameraCaptureSession) {
try {
session.capture(captureRequest, object : CameraCaptureSession.CaptureCallback() {
override fun onCaptureCompleted(
session: CameraCaptureSession,
request: CaptureRequest,
result: TotalCaptureResult
) {
session.close()
}`
我收到错误
Session 0: Exception while stopping repeating: android.hardware.camera2.CameraAccessException: CAMERA_ERROR (3): cancelRequest:652: Camera 0: Error clearing streaming request: Function not implemented (-38)
我会很高兴收到任何信息。
您的设备可能不支持您设置的值。例如您可以通过以下方式获得有效愤怒:
val cameraManager = getSystemService(Context.CAMERA_SERVICE) as CameraManager
val cameraIdList = cameraManager.cameraIdList
val characteristics = cameraManager.getCameraCharacteristics(cameraIdList[0])
val exposureTimeRange = characteristics.get(CameraCharacteristics.SENSOR_INFO_EXPOSURE_TIME_RANGE)