繁体   English   中英

是否可以在三星手机上激活前置摄像头闪光灯?

[英]Is there a possibilty to activate front camera flash on Samsung phones?

我目前正在尝试激活Samsung Galaxy A6上的内置前闪光灯,但是该设备提供的信息类似于没有内置前闪光灯。

我已经尝试过其他方法,可以通过搜索激活Flash来找到。

  1. 首先尝试获得支持的FlashMode,然后使用setParameters(API <23)激活Flash。 但是,仅前置摄像头的getParameters()不会返回内置前置闪光灯的任何信息。 对于该应用程序,似乎没有可用的前置闪光灯。

  2. 然后,我尝试使用在API> = 23中引入的Camera2 API,并且出现相同的问题。 获取相机特征,然后检查FLASH_INFO是否可用,只会导致返回false。 同样尝试使用setTorchMode(FRONT_CAMERA,true)激活闪光灯组件也会引发一个异常,该异常表示:没有可用的闪光灯组件。

我目前仅将Samsung Galaxy A6作为带有内置前置闪光灯的测试设备。 相同的代码对于后置(后置)相机工作正常,没有任何问题。

广告1)

try {
            Camera camera;
            camera = Camera.open(cameraId);

            if (camera == null) {
                return false;
            }

            Camera.Parameters parameters = camera.getParameters();

            if (parameters.getFlashMode() == null) {
                camera.release();
                return false;
            }
    ...

它只是在此时退出,因为.getFlashMode()对于前置摄像头返回null。 下一步将是检查受支持的FlashMode,然后调用Camera的setParamater。

广告2)

try {
        String camID = null;
        for(String cameraID : mCameraManager.getCameraIdList()) {
            CameraCharacteristics cameraCharacteristics = mCameraManager.getCameraCharacteristics(cameraID);

        int orientation = cameraCharacteristics.get(CameraCharacteristics.LENS_FACING);
        if (orientation == CameraCharacteristics.LENS_FACING_FRONT) {

                if(cameraCharacteristics.get(CameraCharacteristics.FLASH_INFO_AVAILABLE)) {
                        camID = cameraID;
                    }
        }

        if(camID != null) {
            mCameraManager.setTorchMode(camID, true);
        }

    } catch (Exception exc) {
        ...
    }

这些只是用于简单激活前闪光灯的片段,但是这两种方法的行为就像没有内置前闪光灯的硬件响应一样。

经过研究,似乎一些电话制造商正在使用专用API来控制硬件。 特别是三星和华为正在利用这一点。 设备上的主相机应用主要由该API控制,因此可以按预期使用Frontflash。 但是,即使像Instagram和Snapchat这样的大型相机应用也无法摆脱这一点,并且也无法激活例如Frontflash。

出于自身目的,硬件只是不提供用于在某些设备上激活Frontflash的任何功能,它的反应就像没有内置的frontflash。 到目前为止,没有针对此问题的解决方案。

现有的解决方法正在使屏幕变白,以减轻手机正面的环境。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM