Android 前摄像头不支持闪光灯,但stock camera应用程序支持前摄像头的闪光灯

Android 前摄像头不支持闪光灯,但stock camera应用程序支持前摄像头的闪光灯,android,android-camera,android-camera2,Android,Android Camera,Android Camera2,在三星S10上,我无法使用前置摄像头启用闪光灯(当检查此摄像头的闪光灯支持时,camera2和传统摄像头API返回false) 比如说 Timber.d(“flashSupport${CameraUtil.isFlashAvailable(this,“0”)},${CameraUtil.isFlashAvailable(this,“1”)} “0”-后摄像头的id “1”-前摄像头的id 输出: flashSupport对,错 所以我只能为后置摄像头启用闪光灯,而不能为前置摄像头启用闪光灯?为什

在三星S10上,我无法使用前置摄像头启用闪光灯(当检查此摄像头的闪光灯支持时,camera2和传统摄像头API返回
false

比如说

Timber.d(“flashSupport${CameraUtil.isFlashAvailable(this,“0”)},${CameraUtil.isFlashAvailable(this,“1”)}

“0”
-后摄像头的id
“1”
-前摄像头的id

输出:

flashSupport对,错

所以我只能为后置摄像头启用闪光灯,而不能为前置摄像头启用闪光灯?为什么会这样?三星对其进行了限制,只允许其系统摄像头应用程序使用,还是有其他功能?

从三星S10的外观来看,它似乎没有正面闪光灯

主摄像机:三重12MP,f/1.5-2.4,26mm(宽),1/2.55“,1.4µm,双像素PDAF,OIS 12兆帕,f/2.4,52毫米(长焦),1/3.6英寸,1.0微米,自动对焦,OIS,2倍光学变焦 16MP,f/2.2,12mm(超宽),1/3.1“,1.0µm,超稳定视频

特点:LED闪光灯、自动HDR、全景 视频4K@60fps(无环境影响报告书),4K@30fps, 1080p@30/60/240fps,720p@960fps、HDR10+、立体声录音、陀螺仪EIS和OIS

自拍照相机:单台10MP,f/1.926mm(宽),1/3“,1.22µm,双像素PDAF

功能:双视频通话,自动HDR 视频4K@30/每秒60帧,1080p@30fps

三星的摄像头应用程序可能通过将屏幕变成白色并以此方式点亮用户来实现“闪光”。如果是这样,你可以在自己的应用程序中实现同样的功能


但是camera API只列出了带有LED或其他闪光灯的常规闪光灯。

是的,它们似乎只是设置了非常高的亮度。但还有一个问题,三星有4个摄像头ID。“3”是第二个后置摄像头(宽镜头),设备报告说它也没有闪光灯,但如果我在没有检查支持的情况下为这个摄像头打开闪光灯,它实际上可以在使用Camera2的情况下工作,因为它不适用于传统的摄像头API(预览不会启动,例外)。所以至少Camera2是安全的,我们可以设置一些可能不受支持的密钥,但它仍然可以工作或忽略。所以flash适用于两个后置摄像头,尽管API报告只有第一个后置摄像头支持它
fun isFlashAvailable(context: Context, cameraId: String): Boolean {
    val characteristics = getCameraCharacteristics(context, cameraId)
    return characteristics.get(CameraCharacteristics.FLASH_INFO_AVAILABLE) == true
}