问题标签 [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 回答
1158 浏览

android - Camera2 的 openCamera() 抛出 SecurityException

openCamera()在使用 Camera2 类时,我在调用方法时遇到了以下异常:

以下是我的清单内容和实现代码。

清单.xml

打开相机的代码:

即使在设备重新启动后,代码也会引发异常。

我在Samsung Galaxy S6Android 6.0.1。有人指出我错过了什么吗?

0 投票
0 回答
34 浏览

android - Android相机的有趣行为

我不确定如何准确表达这一点。但是您一定注意到,android 相机会根据它所指向的对象自动调整相机预览的“外观”。例如,如果您将相机直接对准灯光,它将使灯光的周围区域变暗,并使灯光出现而不会破坏颜色。我已经摆弄了相机应用程序中的许多设置,但找不到任何方法来停止这种自动调整。

那么这个调整到底叫什么。我可以从代码中关闭/打开此功能吗?

0 投票
1 回答
4117 浏览

android - Android camera2 点击对焦

试图实现点击focus使用camera2api.

在我的回电中,我不断地陷入一种ACTIVE_SCAN状态,偶尔也会进入这种FOCUS_NOT_LOCKED状态。我似乎永远无法进入FOCUS_LOCKED状态,并且预览看起来永远不会集中。

使用三星 Galaxy Note 3。

0 投票
1 回答
2801 浏览

android - android camera2 api MediaRecorder stop() 错误

我是 android 的新手,我正在尝试使用 android camera2 api 创建一个简单的录像机应用程序。通过遵循 youtube 上的教程,我设法在 TextureView 中预览相机并开始使用 MediaRecorder 进行捕捉,但我无法停止记录器并将视频保存到我的设备存储中。

此错误出现在 MediaRecorder.stop()

W/Adreno-EGLSUB: : dequeue native buffer failed: No such device, buffer=0x0, handle=0x0 W/Adreno-EGL: : EGL_BAD_SURFACE E/CameraDeviceGLThread-0: GL 渲染线程收到异常:java.lang.IllegalStateException: swapBuffers:EGL 错误:android.hardware.camera2.legacy.SurfaceTextureRenderer.swapBuffers(SurfaceTextureRenderer.java:537) 上 android.hardware.camera2.legacy.SurfaceTextureRenderer.checkEglError(SurfaceTextureRenderer.java:544) 上的 0x300d android.hardware.camera2 .legacy.SurfaceTextureRenderer.drawIntoSurfaces(SurfaceTextureRenderer.java:741) 在 android.hardware.camera2.legacy.GLThreadManager$1.handleMessage(GLThreadManager.java:105) 在 android.os.Handler.dispatchMessage(Handler.java:98) 在 android.os.Looper.loop(Looper.java:148) 在 android.os.HandlerThread.run(HandlerThread.java:61) I/CameraDeviceState : 旧相机服务转换到状态 ERROR

我正在使用 Android 6.0 api23 设备来运行该应用程序。

谢谢

编辑:这是 stopRecording 功能。

...基于@NewOne 的回答,我在 recorder.stop() 之前包含了 try catch 然后我有一个新错误

--------- 崩溃开始 E/AndroidRuntime: FATAL EXCEPTION: main Process: com.tingker.daryl.camera2, PID: 9014 Theme: Themes:{default=overlay:com.cyngn.hexo, iconPack: com.cyngn.hexo, fontPkg:com.cyngn.hexo, com.android.systemui=overlay:com.cyngn.hexo, com.android.systemui.navbar=overlay:com.cyngn.hexo} java.lang.IllegalStateException:会话已关闭;进一步的更改是非法的。在 android.hardware.camera2.impl.CameraCaptureSessionImpl.checkNotClosed(CameraCaptureSessionImpl.java:606) 在 android.hardware.camera2.impl.CameraCaptureSessionImpl.stopRepeating(CameraCaptureSessionImpl.java:272) 在 com.tingker.daryl.camera2.MainActivity$2。 onClick(MainActivity.java:121) 在 android。

0 投票
1 回答
271 浏览

android - api 21 及以上版本没有像 onAutoFocused() 这样的回调

如何使用camera2 api在android中自动捕捉照片?api 21 及更高版本没有像 onAutoFocused() 这样的回调。

0 投票
1 回答
1913 浏览

c# - Android Camera2 API 显示相机特性

我不习惯 C#/移动编程/Xamarin,所以请不要因为我的愚蠢错误而责备我。我正在尝试制作一个程序来显示我设备的相机功能。下面是代码示例:

和错误:

我该怎么办?

0 投票
1 回答
1328 浏览

android - 如何使用camera2获得全屏纹理视图?

我正在尝试获取相机的全屏预览。我通读了 camera2 的文档,上面写着Each Surface has to be pre-configured with an appropriate size and format (if applicable) to match the sizes and formats available from the camera device.这是我到目前为止所理解的。如果我的任何理解有误,请纠正我:

  1. 纹理视图和预览缓冲区需要具有相同的纵横比。它们可以是不同的分辨率,但如果您不希望预览看起来失真,则纵横比必须相同。

  2. 您应该将纹理视图的缓冲区大小设置为最佳选择的预览大小。camera2basic demo 似乎用这条线证实了这一点texture.setDefaultBufferSize(mPreviewSize.getWidth(), mPreviewSize.getHeight()

我的问题是,一旦你匹配纹理视图和预览的纵横比和大小相同,你如何缩放纹理视图以使其适合全屏?

camera2basic 演示的configureTransform方法似乎将 TextureView 转换为预览大小,但没有使其全屏显示。如何计算正确的比例因子以使 TextureView 全屏显示?

0 投票
1 回答
348 浏览

android - Android - 我在纹理视图中使用相机。我希望在实时摄像头上添加某种 img 或文本

我在纹理视图中使用 camera2。我希望在实时摄像头上添加某种图像或文本。例如。snapchat 在实时视图之上添加时间或速度的方式。

示例输出 当我单击图片时,我想捕捉实时相机图像以及相机顶部的文本或图像视图。我似乎在网上找不到任何参考资料

0 投票
2 回答
2176 浏览

android - android camera2预览不适用于表面视图

我一直在使用 TextureView 进行相机预览,直到找不到设置背景颜色的方法,所以我切换到 SurfaceView 但预览不再起作用。除了预览之外,其他一切都工作正常。

这是我使用 TextureView 时的代码:

..这是我使用 SurfaceView 的代码

...我添加此代码以防万一它与它有关

谢谢

0 投票
0 回答
119 浏览

android - android Camera2预览记录开关问题

从这个 google Camera2Video示例中,我们可以看到它首先启动预览模式,然后如果用户单击录制按钮,我们将关闭预览会话并创建一个录制会话以开始录制。录制完成后,我们将关闭录制会话并重新开始预览会话。

但似乎我们可以在录制视频的开头看到视频闪烁(可能是黑框)。我猜这种闪烁可能是由于录制会话帧有一些延迟,所以录制视频有一些黑框。

我们如何解决这样的问题?是否可以只使用相同的会话而不是关闭并重新创建?当前示例使用

预览会话和使用:

记录会话。有什么区别?