我试着检查不同镜头的快门速度和iso是否受支持,但我不知道怎么做,一开始我以为我是这样检查的:
val capabilities = characteristics.get(REQUEST_AVAILABLE_CAPABILITIES)!!
val canReadSensorSettings = capabilities.contains(
REQUEST_AVAILABLE_CAPABILITIES_READ_SENSOR_SETTINGS)
val hasManualSensor = capabilities.contains(
REQUEST_AVAILABLE_CAPABILITIES_MANUAL_SENSOR)
然后检查是否(canreadsensorsettings&&hasmanualsensor)//然后可以为该镜头启用手动曝光。
我认为它是工作的,然后发现在一些前镜头上,这两个值都是假的,但我仍然可以改变iso和快门速度
我的问题是,检查相机设备iso和shtter_速度支持的正确方法是什么。
顺便说一句,我已经看到了这一点,但无法从中得到它,可能解决方案就在这个链接中,但我无法得到它:https://developer.android.com/reference/android/hardware/camera2/cameracharacteristics.html#request_available_capabilities
1条答案
按热度按时间sigwle7e1#
某些设备可能允许更改曝光/iso值,即使它们没有列出手动传感器功能(请注意,列出的手动传感器意味着读取传感器设置也将始终存在,因此您可以检查手动传感器)。
这意味着它们在某种程度上不能满足手动传感器的所有要求,因此可能有一些控件无法工作,或者工作方式与api要求不同。
因此,为了可靠性,如果没有列出手动传感器功能,我不会尝试使用手动设置,除非您要自己测试每个设备,以确保实际工作。坚持使用列出手动传感器的设备意味着它们经过了合规性测试,可以在手动控制下按预期工作。