拍摄时不应用 SENSOR_SENSITIVITY 和 SENSOR_EXPOSURE_TIME 设置

问题描述 投票:0回答:1

我正在尝试制作一个简单的应用程序。捕获时不应用 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)

我会很高兴收到任何信息。

kotlin iso android-camerax
1个回答
0
投票

您的设备可能不支持您设置的值。例如您可以通过以下方式获得有效愤怒:

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)
© www.soinside.com 2019 - 2024. All rights reserved.