前置摄像头不支持闪光灯,但库存相机应用程序为前置摄像头提供闪光灯支持

问题描述

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

例如

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

"0" - 后置摄像头的 id "1" - 前置摄像头的 id

输出:

flashSupport true,false

fun isFlashAvailable(context: Context,cameraId: String): Boolean {
    val characteristics = getCameraCharacteristics(context,cameraId)
    return characteristics.get(CameraCharacteristics.FLASH_INFO_AVAILABLE) == true
}

所以我只能为后置摄像头启用闪光灯,而不能为前置摄像头启用闪光灯?为什么这样?三星限制了它,只允许他们的系统相机应用程序或者还有其他东西吗?

解决方法

从三星 S10 的 specs 来看,它似乎没有前置闪光灯?

主摄像头:三重 12 MP,f/1.5-2.4,26mm(宽),1/2.55",1.4µm,双像素 PDAF,OIS 12 MP,f/2.4,52mm (长焦),1/3.6",1.0µm,AF,OIS,2x 光学变焦 16 MP、f/2.2、12mm(超宽)、1/3.1"、1.0µm、超稳定视频

功能:LED 闪光灯、自动 HDR、全景 视频 4K@60fps(无 EIS)、4K@30fps、1080p@30/60/240fps、720p@960fps、HDR10+、立体声录音、陀螺仪 EIS 和 OIS

自拍相机:单 10 MP,f/1.9,26 毫米(宽),1/3 英寸,1.22 微米,双像素 PDAF

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

三星的相机应用程序可能通过将屏幕变白并以这种方式照亮用户来实现“闪光”。如果是这样,您可以在自己的应用中实现相同的功能。

但相机 API 仅列出带有 LED 或其他频闪灯的常规闪光灯装置。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...