首页 > 解决方案 > 前置摄像头不支持闪光灯,但股票相机应用程序支持前置摄像头闪光灯

问题描述

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

例如

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

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

输出:

flash支持真假

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

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

标签: androidandroid-cameraandroid-camera2

解决方案


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

主相机:三重 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 (ultrawide), 1/3.1", 1.0µm, Super Steady video

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

自拍相机:单 10 MP、f/1.9、26mm(宽)、1/3"、1.22µm、双像素 PDAF

特点:双视频通话,自动HDR视频4K@30/60fps,1080p@30fps

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

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


推荐阅读