问题标签 [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 投票
0 回答
299 浏览

java - 将 ImageReader 与较旧的 Camera API 一起使用(由 API <20 支持)

ImageReader我从这里使用了 Google 示例。

该代码使用Camera2API,ImageReader以便查询图像在与预览图像不同的线程中运行。

由于我想以 Android KitKat (API 20) 为目标,因此我需要修改代码以使用较旧的 Camera API,同时保持ImageReader部件不变。

这是设置的原始代码部分onImageAvailableListener

现在我可以使用较旧的 Camera API。但我迷失在将它与ImageReader. 所以我不知道我应该如何设置onImageListener,以便在图像交付后我可以访问它。

这是我的修改:

我的问题是我应该如何添加ImageReader上面的代码以使其正常工作?

提前致谢。

0 投票
1 回答
1255 浏览

android - 如何从 Camera2 API 获取连续帧数据以进行流式传输?

我们正在使用 Lib 流媒体库进行实时视频流传输。Lib流媒体库支持旧的Camera api,一切正常,但我们需要将Camera2 api集成到Lib流媒体库。使用Camera2 api的视频预览显示等一些功能,我们集成但我们需要连续获取视频帧数据流,如何获取?请提出前进的道路。

在 Lib 流媒体库中,他们对帧数据使用了以下回调方法:

0 投票
1 回答
1099 浏览

java - Android 相机:取消装箱 'characteristics.get(CameraCharacteristics.LENS_FACING)' 可能会产生 NPE

我正在实施Camera2,并且在设置相机输出时收到以下警告(我无法重现可能发生的任何“npe”)(我从google示例中获取我的代码)以下行给我以下警告:

“‘characteristics.get(CameraCharacteristics.LENS_FACING)’的拆箱可能会产生 NPE。”

有人知道如何以适当的方式检查它以防万一吗?

0 投票
1 回答
7332 浏览

android - Android Camera2 Preview 在横向时旋转了 90 度

我正在关注youtube 教程,尝试学习 Camera2 API。当然,我在开发自己的应用程序的同时也在学习这一点。本教程和我的应用程序之间的一个不一致之处是,本教程仅在我的应用程序必须处于横向模式时才使相机处于纵向模式。

我目前能够查看相机的预览,虽然当我的应用程序处于横向或水平时,相机预览看起来旋转了 90 度。几乎感觉我可以旋转 TextureView,但这似乎不正确,就像我拍照时,它会被错误地旋转。

下面是与图像大小有关的代码(整个代码很长)

我一直在玩这个getPreferredPreviewSize方法,但我并不理解它。我不确定使用andcompare结束时的.lhsrhs

我错过了一些简单的旋转吗?

0 投票
1 回答
777 浏览

android - Camera2 预览不会全屏显示

我正在努力解决与让 camera2 在表面视图上全屏显示相关的问题。它确实填满了表面视图的整个高度,但是当涉及到宽度时,我会遇到问题(请参见下面的图片)。

我的布局文件如下所示:

在 surfaceCreated 方法中,我运行以下代码以设置 Surfaceview 的所需大小

在此处输入图像描述

感谢您的任何帮助或指导!

编辑:它似乎在横向模式下工作得很好,所以问题似乎出现在纵向模式下。

0 投票
1 回答
48 浏览

android - 相机应用程序android flash问题

我在相机应用程序中遇到问题。在闪光灯中,我如何更改单击闪光灯按钮上的按钮,如闪光灯关闭、闪光灯打开、闪光灯自动,何时应根据按钮更改按钮更改功能。另一种是如果闪光灯功能打开,手机用闪光灯拍摄第一张照片,闪光灯功能仍然打开,但在第二张照片上不启用闪光灯。

0 投票
1 回答
1529 浏览

android - ImageReader 使相机滞后

除了用于显示相机输出的 SurfaceView 之外,我还面临一个问题,即我使用 ImageReader 。我已经像这样添加了 SurfaceView 本身和 ImageReader 的表面(并添加了 ImageReader 侦听器以接收新图像上的事件):

但是,如果我删除 ImageReader 应用程序工作正常(相机没有滞后)。但是一旦添加了 ImageReader 表面,我的相机就会落后很多。任何人有任何想法,以使相机运行更流畅?ImageReader 是这样创建的:

我想滞后可能是由于图像必须在布局的 SurfaceView 和 ImageReader 本身上渲染两次(?)

0 投票
1 回答
1445 浏览

android - 在 Camera2 上的捕获会话期间启用预览

我正在构建一个基于 Camera2 的相机应用程序,但我保存的图片与我在表面视图中看到的最新图片不匹配。预览会话似乎有效,但是当我要求捕获时,新请求会停止预览并捕获图像。表面视图冻结在最新图片上,并且在我按下快门按钮(预览运行和请求捕获)与捕获请求的 onCaptureCompleted 之间产生了间隙。

这是预览会话

mCaptureCallback 定义如下:

私人CameraCaptureSession.CaptureCallback mCaptureCallback =新CameraCaptureSession.CaptureCallback(){

发生的事情是我重复预览并且它有效。该过程仅用于保持其运行,并且在将 mState 设置为 CAPTURE 之前什么都没有发生。

当我们点击快门按钮时,它被设置为捕捉。当我单击按钮时,我调用:

然后我调用 CapturePicture,因为 mState 在 Capture 中,如 mCaptureCallback 中所定义

定义了 takePicutreNow

这个过程是有效的,但我在印刷机和图像保存之间有一个滞后,如果我快速移动,我在预览屏幕上看到的最新图片与保存的图片不完全相同。

似乎捕获不更新表面,表面仅在我们处于预览时显示

知道我保存了什么吗?谢谢

0 投票
0 回答
450 浏览

android - 使用 Camera2 Android API 在前面水平预览拉伸

我正在将我的应用程序移植到 Camera2 API。对于预览,我使用 Textureview 以方形格式显示我的预览。

我正在使用下面的逻辑来缩放我的相机预览 - 这在旧相机 API 上运行良好 - 并缩放预览而不在纵向模式下拉伸。但是这个逻辑在三星 S4 上使用前置摄像头上的 Camera2 API 不起作用。在后置摄像头上它工作正常,这有点奇怪。

我在 Nexus 5x 上尝试了相同的代码,并且在两台相机上都可以正常工作。有没有人有同样的问题或知道如何解决这个问题?

0 投票
1 回答
1007 浏览

android - Android:本机摄像头应用程序默认为前置摄像头

当使用以下代码为 Android api 21 使用 Intent 时,我设法让摄像头默认使用前置摄像头:

我想知道如何为上面的 android API 21 设置为正面。以上是行不通的。