问题标签 [android-camera2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
780 浏览

android - Android camera2 曝光问题。在使用 YUV ImageReader 的情况下预览过度曝光

基于 Nexus 5x 的非常奇怪的问题。

我有一组普通的相机应用程序表面: - SurfaceHolder 用于屏幕预览 - YUV 格式的 ImageReader 用于预览帧数据 - YUV 或 JPEG 格式的 ImageReader(取决于所选的内部应用程序模式)用于捕获静止图像。

当 JPEG ImageReader 用于配置 captureSession 时,一切正常,屏幕预览正常显示。但是当使用 YUV ImageReader 时,屏幕预览可能会因构图而过度曝光。我必须注意,曝光测光区域设置为传感器的整个 activeRect。

在此屏幕截图中查看:

  1. 正常曝光预览。使用 JPEG ImageReader。 正常曝光预览。 使用 JPEG ImageReader

  2. 曝光过度的预览。使用 YUV ImageReader。 在此处输入图像描述

3&4。JPEG 和 YUV 图像读取器。其他一些构图,现在通常会在这两种情况下公开预览。 在此处输入图像描述在此处输入图像描述

0 投票
1 回答
1511 浏览

android - 在android中以编程方式打开前置摄像头

我正在研究安卓棉花糖。在我的应用程序中,我试图以编程方式打开 android 移动前置摄像头以捕获用户个人资料图片并显示它以供预览我已经尝试了很多可用的示例,这些示例可以在互联网上找到示例显示在按钮单击时加载后置摄像头。

0 投票
2 回答
1194 浏览

android - HandlerThread 阻止 UI android

我正在修改适用于 Android 的 Google Camera2 API 示例,可在此处找到:https ://github.com/googlesamples/android-Camera2Basic

我正在将捕获的图像上传到 Cloudinary,显然需要在后台线程中这样做,这样 UI 就不会被阻塞。

然而,我遇到的问题是,当上传图像时,UI 实际上被阻止了,尽管据我所知,它不应该是,因为处理程序是使用 Looper 从后台线程创建的,如下所示:

ImageSaver 类,负责将捕获的图像写入磁盘,如下所示:

ImageSaver 在此处添加到 Handler 中:

我将不胜感激任何帮助或建议,为我指明正确的方向。

0 投票
0 回答
478 浏览

android - Android Camera2 API 开发/入门基础与手动控制

我正在尝试构建一个 Android 应用程序,该应用程序通过手动控制等实现 Camera2 API。然而。因为我对编程和 Android 开发很陌生,所以我真的不明白我到底需要什么来完成这项工作。

如果有人可以简单地为我概述我的应用程序需要包含什么才能启动并使用指定的设置拍照,那将是很棒的。

谢谢!

0 投票
2 回答
1903 浏览

android - camera2 视频录制性能不佳

我正在尝试通过 mediarecorder 和 camera2 API 录制视频,但我很难从中获得高质量的录音。

启动纹理视图时,我的 logcat 中也出现了一些不同的错误,例如“应用程序通过了 NULL 表面”。

除此之外,它似乎可以工作,但捕获的视频被放大并且帧速率非常低~2 fps。

这是我正在使用的代码:

0 投票
0 回答
1543 浏览

android - Android camera2 api + opengl

我想将 Android效果应用于 Camera2 SurfaceTexture 预览。我对 OpenGL 很陌生,所以我不知道从哪里开始。

我有

Camera2 用来显示预览的实例。如何在 GLSurfaceView 上绘制并应用效果?

0 投票
1 回答
137 浏览

java - Camera2Basic:应用程序:transformClassesWithDexForDebug

我正在使用 Google 的Camera2Basic 示例来测试 Android Studio 中的应用程序。运行项目时出现此错误:

错误:任务“:应用程序:transformClassesWithDexForDebug”执行失败。com.android.build.api.transform.TransformException:java.lang.RuntimeException:com.android.ide.common.process.ProcessException:java.util.concurrent.ExecutionException:com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.7.0_55\bin\java.exe'' 以非零退出值 1 结束

我做了什么

1)我multiDexEnabled true在defaultConfig中添加。

2)也尝试通过添加compile 'com.android.support:multidex:1.0.0'依赖项。

0 投票
1 回答
756 浏览

android - 如何以编程方式在新版本的 Android 操作系统上访问相机设备?

由于当前版本的 Android 操作系统已弃用“android.hardware.Camera”库,因此已禁用旧的用法。而且我不知道如何在当前版本的 Android 上以编程方式访问相机的实例。

当前库是“android.hardware.camera2.*”。

有谁知道如何做到这一点 ?谢谢。

0 投票
1 回答
3835 浏览

android - 在 Camera2 API 中切换闪光灯

我的问题是当我在不同的 flashmode 之间切换然后想要捕获图像时,我的 captureBuilder 不会设置所选的 flashmode。它仅在我关闭并重新打开相机时才有效。

我以https://github.com/googlesamples/android-Camera2Basic作为起点。

我的方法:

这是 setCurrentFlash 方法:

任何想法为什么构建器在捕获之前没有正确设置闪光灯?

*****编辑*****

通过像 Eddy Talvala 建议的那样调用 runPrecaptureSequence() 时将 flash 设置为 previewRequestBuilder 解决了问题

0 投票
1 回答
4455 浏览

android - 如果 SurfaceView 大小不是支持的大小之一,camera2 将崩溃

在使用 SurfaceHolder/SurfaceView 配置 CaptureSession 时,我希望 SurfaceView 可以具有任何布局大小,而我通过 surfaceView.getHolder().setFixedSize(preview_width, preview_height) 为其设置了具有相同纵横比的良好预览大小。结果应该是传入的预览缓冲区可能会缩小到布局大小。

但是在 camera2(硬件级别 LEGACY)中,配置 CaptureSession 仅在我使用具有与 streamConfigurationMap.getOutputSizes(SurfaceHolder.class) 返回的列表中的布局大小完全相同的 SurfaceView 时才有效。如果不是,则图像不会按比例缩小,但配置会引发错误。

从日志(Samsung Galaxy A3 '14,SDV v21):

使用 Nexus 5X、SDK v23 并在 之后等待surfaceChanged()调用surfaceHolder.setFixedSize(),预览尺寸不在支持的输出尺寸列表中,但预览不会开始。从日志:

结果:预览没有开始,我可以给表面视图一个背景颜色来演示它。

我怎样才能解决这个问题,并且仍然使用比使用 SurfaceTexture 更高效和向后兼容的 SurfaceView。