如何在 Android 上的 Camera2 API 中设置“CONTROL_AE_EXPOSURE_COMPENSATION”?

2024-04-18

我目前正在开发 Androids Camera 2 API,当前的问题是我无法设置“CONTROL_AE_EXPOSURE_COMPENSATION”。

我的代码:

-1.0

public void setExposure(double exposureAdjustment) {
    Range<Integer> range1 = mCameraCharacteristics.get(CameraCharacteristics.CONTROL_AE_COMPENSATION_RANGE);
    int minExposure = range1.getLower();
    int maxExposure = range1.getUpper();

    float newCalculatedValue = 0;
    if (exposureAdjustment >= 0) {
        newCalculatedValue = (float) (minExposure * exposureAdjustment);
    } else {
        newCalculatedValue = (float) (maxExposure * -1 * exposureAdjustment);
    }

    mPreviewRequestBuilder.set(CaptureRequest.CONTROL_AE_EXPOSURE_COMPENSATION, (int) newCalculatedValue);
}

不幸的是它不起作用。


我找到了一个适合我的解决方案。由此exposureAdjustment参数在-1到+1之间。

public void setExposure(double exposureAdjustment) {
    Range<Integer> range1 = mCameraCharacteristics.get(CameraCharacteristics.CONTROL_AE_COMPENSATION_RANGE);

    int minExposure = range1.getLower();
    int maxExposure = range1.getUpper();

    if (minExposure != 0 || maxExposure != 0) {
        float newCalculatedValue = 0;
        if (exposureAdjustment >= 0) {
            newCalculatedValue = (float) (minExposure * exposureAdjustment);
        } else {
            newCalculatedValue = (float) (maxExposure * -1 * exposureAdjustment);
        }

        if (mPreviewRequestBuilder != null) {
            try {
                CaptureRequest captureRequest = mPreviewRequestBuilder.build();
                mCaptureSession.setRepeatingRequest(captureRequest, camera2FocusMeteringManager.mCaptureCallbackListener, mBackgroundHandler);
                mPreviewRequestBuilder.set(CaptureRequest.CONTROL_AE_EXPOSURE_COMPENSATION, (int) newCalculatedValue);
                mCaptureSession.capture(captureRequest, camera2FocusMeteringManager.mCaptureCallbackListener, mBackgroundHandler);
            } catch (CameraAccessException e) {
            }
        }
    }
}

我在哪里建造一个新的CaptureRequest via my mPreviewRequestBuilder(捕捉请求的构建器)每次曝光调整。

Here https://github.com/ManuelSchmitzberger/Camera2您可以找到完整的 Camera2 示例。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Android 上的 Camera2 API 中设置“CONTROL_AE_EXPOSURE_COMPENSATION”? 的相关文章

  • 对 AAssetManager_fromJava 的未定义引用

    我正在尝试使用 AAssetManager 从 Android apk 访问资源 然而 我不断得到 未定义对 AAssetManager fromJava 的引用 即使我已包含 asset manager h 和 asset manager
  • 离线安装 android 很困难[已过时]

    我是非洲的一名学生 在我们的土地上 实际上存在缓慢且昂贵的互联网连接 这就是为什么每当我们听到 在线存储库 安装软件方法这个词时我们都会感到恐惧 该死 这通常意味着你必须去别处寻找 问题 如果没有将 Eclipse 连接到互联网 我无法安装
  • 如何在Eclipse调试器中查看崩溃原因

    按照这个 Android 教程 http developer android com resources tutorials hello world html http developer android com resources tut
  • 无法运行 ActionBarSherlock

    我有一个 2 2 android 项目 我想添加 ActionBarSherlock 当我运行我的项目时 我收到此错误 C Users vitaly Downloads ActionBarSherlock 4 2 0 ActionBarSh
  • Android 使用键盘上的“完成”按钮来单击按钮

    好的 在我的应用程序中 我有一个供用户输入数字的字段 我已将该字段设置为仅接受数字 当用户单击该字段时 它会弹出键盘 键盘 ICS 上 上有一个完成按钮 我希望键盘上的完成按钮能够触发我的应用程序中的提交按钮 我的代码如下 package
  • 在自定义列表视图中,滚动时复选框未选中

    我知道这个问题已经被问了一遍又一遍 但我仍然找不到有用的建议 当我滚动列表视图时 复选框未选中 当特定项目时 我使用数组列表来存储列表视图中所选项目的 id 取消选中它将从列表视图中删除 public class ManagePractic
  • Facebook Like 按钮重定向到 Android 中的 Facebook 网站

    我正在开发类似 facebook 的按钮来与我的应用程序集成 这是从开发人员 facebook com 复制的 html 代码 div div
  • 更改Android TabWidget底部栏颜色

    如何更改 TabWidget 底部栏的颜色 我已经成功更改了选项卡背景颜色 但底部栏仍然是灰色 橙色 并且我在 Android 文档和源代码中找不到与此相关的任何信息 谢谢 See 启用 禁用此行 tabHost getTabWidget
  • 无法在 Android Studio 中将项目迁移到 Gradle

    我有一个项目已经在 Android Studio 中运行 在 Android Studio 中打开项目后 我收到消息 将项目迁移到 Gradle 该项目不使用 Gradle 构建系统 我们建议您迁移到使用 Gradle 构建系统 有关迁移到
  • 如何在 Android 上将 ISO 8601 字符串解析为 Java 日期 [重复]

    这个问题在这里已经有答案了 我正在 Android 上创建一个与服务器通信的应用程序 该服务器给我返回了一个ISO 8601 http en wikipedia org wiki ISO 8601日期字符串 如下所示 2014 11 21
  • Android avd 管理器根本不工作 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我最近想尝试创建一个 Android
  • Android 开发工具无法通过 adb 识别 Asus Nexus 7

    问题 正确安装和连接后 adb 无法识别 Asus Nexus 7 设置 华硕 Nexus 7 平板电脑 Windows 7 64 位操作系统 采取的步骤 安装64位Java JDK http www oracle com technetw
  • Android Edittext Onclick Datepickerdialog 棒棒糖中出现错误

    我正在使用日期选择器对话框 它在 kitkat 上运行正常 但是当我在棒棒糖上运行应用程序时 当我单击编辑文本时 它会打开一个日期选择器对话框 但当我选择日期时 它会不幸地给出停止错误 以下是 edittext 上日期选择器的代码 priv
  • Android:如何从我的主要活动中调用 findPreference()?

    我正在处理 Android 应用程序的首选项屏幕 如果前一项具有特定值 我想禁用 将其灰显 一项 我已经实现了两个类 MainActivity 和 PreferencesActivity 在 MainActivity 中我这样做 publi
  • 发布 apk 中的“来源不明”

    我的调试 APK 中的所有内容都运行良好 但是 当我导出 APK 并安装它时 一切正常 直到我调用引用的库 E AndroidRuntime 32571 at com znood znoodapp ShowResultsActivity a
  • 如何将 csv/文本文件从 Android 手机发送到 WiFi 打印机?

    我正在开发一个 Android 应用程序 我应该从数据库中获取 csv txt 文件格式的数据 然后我必须将文件发送到 wifi 打印机 有谁知道我如何开始这样做 答案终于很简单 Socket client new Socket IP PO
  • 权限拒绝:开放提供商

    我创建了一个自定义内容提供程序 更多应用程序将访问该内容提供程序 我已在提供程序 AndroidManifest xml 文件中包含了权限标签 在第二个应用程序中 我包含了 use permissions 标签 但没有成功 Logcat 向
  • Android 切换按钮

    通过遵循这个article http ww1 mokasocial com 我能够创建一个由图像组成的切换按钮 我的开关没有任何文字 只有开 关图像 当我的切换按钮创建时 它会被拉伸并失去其比例 如何使其保留其原始大小 这些是我使用的图像
  • .so 文件的 objdump?需要帮助来理解消息

    我正在开发一个与流相关的本机应用程序 我在我的 c 模块中遇到了一些问题 我收到的是来自 Logcat 的一些消息 这是 Logcat 消息 INFO DEBUG 28 Build fingerprint generic sdk gener
  • 如何在 Android 中没有视频视图的情况下从 URL 获取视频长度(以毫秒为单位)?

    我正在 Android 中制作一个媒体播放器 我需要一个代码来获取视频长度而不使用视频视图 我在堆栈溢出中看到了很多页面 但每个页面都用于显示如何在视频视图中获取视频的长度 但我需要没有视频视图 你可以使用媒体元数据检索器 http dev

随机推荐

  • javascript 在多个链式异步函数上等待

    假设我有以下内容 const a new A await a getB action A prototype getB is async也B prototype action 如果我尝试等待函数的链接 则会收到错误 TypeError a
  • SoapExtension 未加载

    我正在尝试写一个肥皂扩展 但框架没有加载它 我已经添加到 web config
  • 不同的Android SDK版本使用不同的图标

    我的 Android 菜单有图标 在 Android 3 上 我使用黑色 ActionBar 因此图标为白色 然而 在 Android 2 x 上 菜单本质上是白色的 这意味着图标几乎不可见 如何为不同版本使用不同的菜单图标 我假设我可以使
  • 我们如何重命名MySQL 5.0中的数据库名称[重复]

    这个问题在这里已经有答案了 我在用MySQL 5 0 我创建了一个名为accounts 但现在我想将数据库名称更改为FinanceAccounts 如何更改数据库名称MySQL 5 0 我认为只有一种方法 除了重命名 MySQL datad
  • 安全移动 Microsoft SDK 文件夹

    我的硬盘上有一个文件夹 C Program Files Microsoft SDKs 我想知道将其移动到外部驱动器是否安全 Visual Studio 或任何其他工具是否依赖于此特定文件夹 注册表中有相当多的条目 至少在我的注册表中 指向该
  • Cython指定固定长度字符串的numpy数组

    我有一个函数 我想使用 Cython 来处理大量固定长度的字符串 对于标准 cython 函数 我可以像这样声明数组的类型 cpdef double g double in arr cdef double out arr np zeros
  • 对话框的对象位置 Libgdx

    我有一个对话框 Dialog dialog new Dialog style dialog setSize 400 500 dialog setPosition Gdx graphics getWidth 2 200 Gdx graphic
  • 使用自动 bash 脚本检查 FTP 中是否存在文件

    我想自动化执行以下操作的批处理作业 检查我的file txt存在于FTP服务器中 我将其重命名为file trt 检查我的file txt and file trt存在 如果存在我发送电子邮件 我运行另一个脚本 最后我删除file trt
  • Ruby+Anemone Web Crawler:正则表达式匹配以一系列数字结尾的 URL

    假设我正在尝试抓取一个网站并跳过一个像这样结束的页面 我目前正在 Ruby 中使用 Anemone gem 来构建爬虫 我正在使用skip links like方法 但我的模式似乎永远不匹配 我试图使其尽可能通用 因此它不依赖于子页面 而只
  • 为什么这个 Sql 语句(有 2 个表连接)需要 5 分钟才能完成?

    更新 下面添加了 3 个更新 以下sql语句需要5分钟才能完成 我只是 不 得到 它 第一个表有 6861534 行 第二个表少了一点 第三个表 包含 4 个地理字段 与第一个表相同 Those GEOGRAPHY第三个表中的字段 它们不应
  • 错误域=FIRFirestoreErrorDomain 代码=7“权限缺失或不足。”

    所以我有以下代码从 firestore 检索文档 该函数在我的 viewDidLoad 中调用 func loadAnnotations db collection jumpSpotAnnotations getDocuments quer
  • 将静态库链接到共享库

    我正在尝试在 Ubuntu Linux 上使用 g 5 4 0 创建共享库 我已经构建了 Poco C 库的静态库 a 文件 我想将它们静态链接到我的共享库中 但它不起作用 我已将以下字符串添加到我的构建脚本中 Wl whole archi
  • 如何使用c#读取EPS的属性或颜色信息?

    我的要求是读取另外50个EPS文件并导出EPS的属性 颜色模式 这可能吗 颜色模式有灰度 RGB 和 CMYK 到目前为止 我尝试使用 BitmapImage 来读取 EPS 但我没有运气 BitmapImage 不读取 EPS 因为它是矢
  • ANDROID:如何将视频文件下载到 SD 卡?

    我在网站上有一个 MP4 格式的视频文件 我希望用户能够通过单击链接将该视频下载到他们的 SD 卡上 是否有捷径可寻 我目前有这段代码 但它不起作用 不知道我做错了什么 谢谢你的帮助 import java io BufferedInput
  • Titan 加载弹性搜索问题

    我使用以下代码来加载泰坦 TitanFactory Builder config TitanFactory build config set storage backend berkeleyje config set storage dir
  • 指针的大小以及该大小是否取决于体系结构

    好吧 抱歉这个问题 更像是一个一般文化问题 尚未找到准确的答案 如果我有类似的东西 char Field or void Field or double pointers 指针的大小是一样的吗 据我记得大学时它是 4 个字节 但是 根据CP
  • 类型错误 - Python 中的类

    我是 Python 的初学者 刚刚开始掌握课程 我确信这可能是非常基本的东西 但为什么这段代码是这样的 class Television def init self print Welcome your TV self volume 10
  • 多个函数聚合的结果不可用于进一步计算。为什么?

    我对 R 中聚合函数的结果有疑问 我的目标是从数据集中选择某些鸟类并计算密度 调查区域内观察到的个体的数量 为此 我获取了主数据文件的子集 然后在区域上进行聚合 计算 平均值和个体数量 由向量长度表示 然后我想用计算出的平均面积和个体数量来
  • 异或数据包中的所有数据

    我需要一个可以根据用户输入计算校验和的小程序 不幸的是 我对校验和的了解只是它是数据包中所有数据的异或 我试图在网上搜索一个例子 但没有运气 我知道我是否有一个字符串 41 4D 02 41 21 04 02 02 00 00 00 00
  • 如何在 Android 上的 Camera2 API 中设置“CONTROL_AE_EXPOSURE_COMPENSATION”?

    我目前正在开发 Androids Camera 2 API 当前的问题是我无法设置 CONTROL AE EXPOSURE COMPENSATION 我的代码 1 0 public void setExposure double expos