我试着检查是否支持不同镜头的shutter_speed和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和Shutter_Speed
我的问题是,检查摄像头设备是否支持ISO和SHTTER_SPEED的正确方法是什么。
顺便说一句,我已经看到了这一点,但我无法从中获得它,可能解决方案在这个链接中,但我无法获得它:https://developer.android.com/reference/android/hardware/camera2/CameraCharacteristics.html#REQUEST_AVAILABLE_CAPABILITIES
发布于 2021-07-27 03:18:25
一些设备可能允许更改曝光/ISO值,即使它们没有列出MANUAL_SENSOR功能(请注意,列出MANUAL_SENSOR意味着READ_SENSOR_SETTINGS也将始终在那里,因此您可以只检查MANUAL_SENSOR)。
这意味着它们在某种程度上不能满足MANUAL_SENSOR的所有要求,因此可能会有一些控件无法工作,或者工作方式与应用程序接口要求不同。
因此,为了可靠性,如果没有列出MANUAL_SENSOR功能,我不会尝试使用手动设置,除非您要亲自测试每个设备以确保其正常工作。坚持使用列出了MANUAL_SENSOR的设备意味着它们需要经过合规性测试,才能像预期的那样使用手动控制。
https://stackoverflow.com/questions/68529131
复制相似问题