小编Jor*_*dan的帖子

Android Camera2 API Flash在银河设备上不起作用

我正在使用Android Camera2 API拍摄应用程序的照片,但无法使闪光灯在大多数Samsung Galaxy设备(银河s6 edge,银河s7,银河j7)上正常工作。我相信我已经正确实现了闪光逻辑,因为曾经在Play商店中使用过的Google相机应用程序也表现出相同的行为。另外,银河s8似乎可以很好地与闪光灯配合使用(尽管结果肯定有不一致的照明)

银河j7的问题在于,当我使用闪光灯拍摄照片(锁定闪光灯或在需要闪光灯的场景中使用自动闪光灯)时,闪光灯将保持开启状态很长时间,预览将被锁定,然后在可能需要7秒钟才能拍摄图像,而闪光灯不是图像的一部分。

我有以下处理闪光模式的方法:

private void setAutoFlash(CaptureRequest.Builder requestBuilder)
{
    switch (mFlashState)
    {
        case FLASH_STATE_AUTO:
            requestBuilder.set(CaptureRequest.CONTROL_AE_MODE, CaptureRequest.CONTROL_AE_MODE_ON_AUTO_FLASH);
            //requestBuilder.set(CaptureRequest.FLASH_MODE, CaptureRequest.FLASH_MODE_OFF);
            break;
        case FLASH_STATE_ON:
            requestBuilder.set(CaptureRequest.CONTROL_AE_MODE, CaptureRequest.CONTROL_AE_MODE_ON_ALWAYS_FLASH);
            //requestBuilder.set(CaptureRequest.FLASH_MODE, CaptureRequest.FLASH_MODE_SINGLE);
            break;
        case FLASH_STATE_OFF:
            requestBuilder.set(CaptureRequest.CONTROL_AE_MODE, CaptureRequest.CONTROL_AE_MODE_ON);
            //requestBuilder.set(CaptureRequest.FLASH_MODE, CaptureRequest.FLASH_MODE_OFF);
            break;
    }
}
Run Code Online (Sandbox Code Playgroud)

每当需要CaptureRequest.Builder时,都会调用此闪存逻辑

我读过的3条注释行是为帮助Flash对我来说正常工作而建议阅读的其他内容,但它似乎没有任何作用

三星有自己的相机API(http://developer.samsung.com/galaxy/camera),但我读到它只是Camera2的包装,我担心他们的API甚至无法解决我的问题。

附加信息:

  • 我从Play商店尝试了一些相机应用程序,有些工作却没有。
  • ZCamera在Flash上​​运行良好,这使我认为他们使用了三星相机API使其正常工作,但是随后我注意到ZCamera的触摸测光在三星设备上不起作用,这是我在调试Camera2实现时遇到的另一个问题。
  • 如果我坚持使用不赞成使用的Camera API,Flash似乎可以正常工作

任何有关如何完成工作闪光的帮助将不胜感激

java android galaxy camera-flash camera2

5
推荐指数
1
解决办法
2014
查看次数

标签 统计

android ×1

camera-flash ×1

camera2 ×1

galaxy ×1

java ×1