【问题标题】:Android - Flip camera android api >= 10Android - 翻转相机 android api >= 10
【发布时间】:2014-01-27 14:20:58
【问题描述】:

这是我的第一个问题。 我需要帮助 android 上的实时摄像头。 我想创建相机预览(在表面视图上)。具有某些功能的android应用程序:

  • 在实时预览相机中翻转镜像相机。(相同的 rotateX 或 rotateY)。

我尝试在 Camera.PreviewCallback 上翻转位图,然后重绘 Surface,但速度很慢。 然后我尝试使用 open cv。但它对我的应用程序来说更大。

[Android api >= 10.]

给我一​​些想法来解决我的问题。 非常感谢。 // 对不起,我的英语不好。

【问题讨论】:

  • SurfaceTexture,适用于 API >= 11,让您真正顺利轻松地执行此操作。
  • 非常感谢。但是我的应用需要 android api >= 10。如果我没有办法,我会使用 SurfaceTexture :)。

标签: android camera flip


【解决方案1】:

如果您不能使用SurfaceTexture,请考虑隐藏预览表面(您仍然需要实时 SurfaceView 来启动 Camera.startPreview())。使用 Camera.PreviewCallback(),通过着色器将 YUV 帧推送到 OpenGL 纹理,并在 OpenGL 中渲染它们。请参阅 Android OpenGL ES process yuv preview as RGBA 作为起始示例。

我强烈建议使用 SurfaceTexture 为 API >= 11 构建单独的代码,因为每次升级时系统在强制可见实时预览方面变得更加严格。隐藏 SurfaceView 仍然是 possible,但对于 API

【讨论】:

  • 非常感谢 :) 你能举一个 SurfaceTexture 的例子来显示相机吗?我试过了,但它不起作用。我使用 TextureView 显示相机,然后使用 setRotateY 翻转图像。我在 SurfaceTexture 上使用什么方法翻转相机?。
  • 你可以看到一个最小的例子on GitHub
  • 非常感谢。但是在您的示例中,您使用 TextureView => android api >= 14(不是 11)。
猜你喜欢
  • 2020-05-05
  • 1970-01-01
  • 1970-01-01
  • 2011-02-26
  • 1970-01-01
  • 1970-01-01
  • 2015-10-29
  • 2011-02-28
  • 1970-01-01
相关资源
最近更新 更多