【问题标题】:Flash is not supported for front camera, though stock Camera app has flash support for front camera前置摄像头不支持闪光灯,但股票相机应用程序支持前置摄像头闪光灯
【发布时间】:2021-04-14 12:29:55
【问题描述】:

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

例如

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

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

输出:

flashSupport 真,假

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

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

【问题讨论】:

    标签: android android-camera android-camera2


    【解决方案1】:

    从三星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、26mm(宽)、1/3"、1.22µm、双像素 PDAF

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

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

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

    【讨论】:

    • 是的,他们似乎只是设置了非常高的亮度。但这是另一个问题,三星有 4 个摄像头 ID。 “3”是第二个后置摄像头(广角镜头),设备报告说它也没有闪光灯,但如果我在没有检查支持的情况下为这台相机打开闪光灯,如果使用 Camera2,它实际上可以工作,认为它不适用于旧相机API(预览不会启动,异常)。所以至少Camera2是安全的很好,我们可以设置一些可能不支持但它仍然可以工作或忽略的密钥。所以闪光灯适用于两个后置摄像头,尽管 API 报告说只有第一个后置摄像头支持它
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-24
    相关资源
    最近更新 更多