Camera2basic 应用程序,在 Android 6.0 LGG3 中具有非常暗的预览

2024-06-18

新的 API,也许只在 LG G3 上,似乎发生了一些变化。

我在用着示例代码 https://github.com/googlesamples/android-Camera2Basic.

在我的 Nexus 4 上,代码运行完美,但在更新到 Android 6.0 的 LGG3 上则不然。有任何想法吗?

我尝试了这些设置,但运气不佳,这在 Nexus 4 上仍然运行良好:

mPreviewRequestBuilder.set(CaptureRequest.BLACK_LEVEL_LOCK, false);


mPreviewRequestBuilder.set(CaptureRequest.CONTROL_AWB_LOCK, false);
mPreviewRequestBuilder.set(CaptureRequest.CONTROL_AWB_MODE, CaptureRequest.CONTROL_AWB_MODE_AUTO);


mPreviewRequestBuilder.set(CaptureRequest.CONTROL_AE_LOCK, false);

mPreviewRequestBuilder.set(CaptureRequest.CONTROL_AE_MODE, CaptureRequest.CONTROL_AE_MODE_ON);
mPreviewRequestBuilder.set(CaptureRequest.CONTROL_AE_ANTIBANDING_MODE, CaptureRequest.CONTROL_AE_ANTIBANDING_MODE_AUTO);
mPreviewRequestBuilder.set(CaptureRequest.CONTROL_AE_EXPOSURE_COMPENSATION, 0);
//mPreviewRequestBuilder.set(CaptureRequest.CONTROL_AE_TARGET_FPS_RANGE, Range.create(1000,1000));
mPreviewRequestBuilder.set(CaptureRequest.CONTROL_AE_PRECAPTURE_TRIGGER, 0);


mPreviewRequestBuilder.set(CaptureRequest.CONTROL_MODE, CaptureRequest.CONTROL_MODE_AUTO);
mPreviewRequestBuilder.set(CaptureRequest.COLOR_CORRECTION_MODE, CaptureRequest.CONTROL_MODE_AUTO);


mPreviewRequestBuilder.set(CaptureRequest.CONTROL_CAPTURE_INTENT,
        CaptureRequest.CONTROL_CAPTURE_INTENT_PREVIEW);

mPreviewRequestBuilder.set(CaptureRequest.CONTROL_AF_MODE,
        CaptureRequest.CONTROL_AF_MODE_CONTINUOUS_PICTURE);

我找到了适合我的解决方案。解决方法是设置设备支持的FPS范围。

mPreviewRequestBuilder.set(CaptureRequest.CONTROL_AE_TARGET_FPS_RANGE, getRange());

获取范围的函数:

private Range<Integer> getRange() {
    CameraCharacteristics chars = mCameraManager.getCameraCharacteristics(mCameraId);
    Range<Integer>[] ranges = chars.get(CameraCharacteristics.CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES);

    Range<Integer> result = null;

    for (Range<Integer> range : ranges) {
        int upper = range.getUpper();

        // 10 - min range upper for my needs
        if (upper >= 10) {
            if (result == null || upper < result.getUpper().intValue()) {
                result = range;
            }
        }
    }

    if (result == null) {
        result = ranges[0];
    }

    return result;
}

Update:其他设置(如果有人感兴趣的话)

mPreviewRequestBuilder.set(CaptureRequest.CONTROL_AE_LOCK, false);
mPreviewRequestBuilder.set(CaptureRequest.CONTROL_AE_MODE, CameraMetadata.CONTROL_AE_MODE_ON);
mPreviewRequestBuilder.set(CaptureRequest.CONTROL_AWB_MODE, CameraMetadata.CONTROL_AWB_MODE_AUTO);
mPreviewRequestBuilder.set(CaptureRequest.CONTROL_AF_MODE, CaptureRequest.CONTROL_AF_MODE_CONTINUOUS_PICTURE);
mPreviewRequestBuilder.set(CaptureRequest.STATISTICS_FACE_DETECT_MODE, CameraMetadata.STATISTICS_FACE_DETECT_MODE_SIMPLE);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Camera2basic 应用程序,在 Android 6.0 LGG3 中具有非常暗的预览 的相关文章

随机推荐

  • 在 SQL 中将数字求小数次幂

    我试图在 MS SQL 中将一系列数字求小数 1 5 次幂 但在应用于负基数时出现 域错误 这应该不是问题 因为我要提升到奇次幂根 此外 我可以在 Excel 中进行计算 谁能评论一下 MS SQL 是否根本不支持将负幂提高到小数根 负基数
  • 我可以在 macOS 上使用 win32com 客户端吗?

    我一直在研究 Pycel 和 Xlrd 库 在 Mac 上使用它们的问题是这两个库都使用 win32com client 读取 Excel 文件 所以我想知道 有什么办法我可以使用win32commacOS 的客户端 如果没有 我可以使用类
  • 如何查看 org.codehaus.jackson 日志消息 - 使用logging.properties

    我正在尝试反序列化传入的PUT使用 JSON 请求正文进行请求org codehaus jackson包裹 我收到错误消息The request sent by the client was syntactically incorrect
  • 显示特定颜色

    我正在研究颜色分类 我正在用特定颜色初始化一个矩阵 以便可以获得红色 蓝色或绿色的 16x16 矩阵 代码如下 library rgl color1 lt function n lt 3 m lt 16 a lt list numeric
  • ruby 2.0.0p247 的分段错误导致 Rails 服务器崩溃

    在 OS X Mavericks 1 9 上运行 Rails 4 0 Ruby 2 0 0p247 我今天遇到了一个我从未遇到过的错误 我不明白 当尝试在我的项目中启动 Rails 服务器时 服务器崩溃了 我确实尝试重新安装并重新编译一次
  • 如何检测在 MapView 中选择了哪个注释

    我在地图内做了一些注释 当我点击它们时 我会看到一些信息 并且有一个打开地图的按钮 并且使用我无法接受的正确信息应该可以绘制出我的路线 这是我的代码 我有 2 个双精度数组用于我的经纬度 我从查询中填充了它们 var lat Double
  • Laravel 5 使用语句[重复]

    这个问题在这里已经有答案了 第一次使用 Laravel 5 我了解命名空间的使用以及为什么需要使用它们 我不明白的是为什么我需要添加如下所示的 use 语句 在控制器的顶部 use Session use Input use Respons
  • 如何使用 Maven 的 Java API 访问 Maven Artifact POM?

    我正在尝试检索整个依赖关系树及其从项目根部开始的 pom 我从文件系统中已经存在的 POM 开始 但我不确定如何从存储库中检索依赖项 pom 我正在使用以下代码来访问依赖项列表 从列表中我获得了有关文物的所有信息 我只是不确定如何访问存储库
  • C 代码中的错误处理

    当涉及到在 C 库中以一致的方式处理错误时 您认为 最佳实践 是什么 我一直在想有两种方法 始终返回错误代码 典型的函数如下所示 MYAPI ERROR getObjectSize MYAPIHandle h int returnedSiz
  • DCI - 数据、上下文和交互 - MVC 的继承者?

    最好的描述是什么数据 上下文和交互 DCI http www gertrudandcope com a googlepages com thedciarchitecture将其推销给组织 它的创建者是特里格夫 雷恩斯考格 http folk
  • 重新计算绝对定位元素位置?

    我有一些元素相对于文档正文是绝对定位的 当在 DOM 内部某处添加某些内容时 绝对定位的元素也应该重新定位 问题是 如何知道 DOM 内部某处发生了更改 第二个想法是监听文档高度和宽度的变化 我认为这是最有效的方法 还有其他方法可以实现这一
  • 带条件的 Numpy 均值

    我有纯Python计算平均速度的算法 speed avg speed 0 0 speed count 0 for i in speed if i gt 0 I dont need zeros avg speed i speed count
  • 如何将html id添加到rails中的form_for标签中?

    我正在尝试将 id 标签添加到我在 Rails 中创建的表单中 表单的开头有以下代码 我是否可以向 form for 嵌入式 ruby 添加一个 id 或者我是否必须创建一个 form tag 字段并在那里添加 id 如果我必须创建 for
  • Fluent Nhibernate 映射的单元测试

    我正在尝试了解社区的其他成员如何测试他们的 Fluent Nhibernate 映射 假设我有以下映射 public UserHeaderMap Table USER HEADER Id x gt x Id USER ID Map x gt
  • 在 Mac OS Sierra 上使用 brew 安装节点失败

    我正在尝试在 macOS Sierra 上使用自制程序安装节点 我跑 brew install node 看似成功安装后 我在尝试运行时得到以下信息node dyld Library not loaded usr local opt icu
  • Linux 上的静态 Qt5 构建:部署时如何处理字体?

    我使用这些配置选项创建了 Qt 5 2 0 库的静态版本 Ubuntu 12 04 开源 确认许可 force pkg config 发布 静止的 前缀 home juzzlin qt5 无icu opengl桌面 无油嘴滑舌 辅助功能 n
  • 如何使用系统凭据自动登录网站?

    我需要为 Intranet 用户开发一个 Web 应用程序 我不希望他们每次访问该网站时都输入登录凭据 它应该从系统用户名和密码自动加载 即 如果他们拥有有效的系统用户名和密码 他们应该能够登录应用程序 我正在使用Java 如何满足这个要求
  • 如何水平居中条形图注释

    我正在创建一个像这样的条形图 gender M F numbers males females bars plt bar gender numbers width 0 1 bottom None align center data None
  • 在 Docker 中保护私有 PyPi 的凭据

    我正在构建 Docker 映像 需要运行 pip install 与带有凭据的私有 PyPi 保护凭证的最佳方法是什么 即使我删除它们 使用各种文件配置选项 pip conf requirements txt netrc 仍然是一个漏洞 因
  • Camera2basic 应用程序,在 Android 6.0 LGG3 中具有非常暗的预览

    新的 API 也许只在 LG G3 上 似乎发生了一些变化 我在用着示例代码 https github com googlesamples android Camera2Basic 在我的 Nexus 4 上 代码运行完美 但在更新到 An