【问题标题】:Android camera preview on SurfaceTextureSurfaceTexture 上的 Android 相机预览
【发布时间】:2013-12-20 18:54:00
【问题描述】:

这是我的场景:当有人在锁定屏幕中输入错误密码时,我正试图从前置摄像头拍照。基本上,我需要能够在没有预览的情况下从前置摄像头拍摄照片。

经过大量谷歌搜索,我发现实现它的方法是 opengl 和 SurfaceTexture。您将相机预览指向 SurfaceTexture,然后以某种方式从该纹理中提取图片。我从以下资源中发现了这一点:

  1. https://stackoverflow.com/a/10776349/902572(建议一)
  2. http://www.freelancer.com/projects/Android-opengl/Android-OpenGL-App-Access-Raw.html,同(1)
  3. https://groups.google.com/forum/#!topic/android-developers/U5RXFGpAHPE(参见 Romain 于 2011 年 12 月 22 日发布的帖子)

我知道要做什么,但我无法正确地将它们放入代码中,因为我是 opengl 的新手。

【问题讨论】:

    标签: android opengl-es android-camera


    【解决方案1】:

    CameraToMpegTest 示例具有您需要的大部分功能,尽管它远远超出了您的用例(它将一系列预览帧录制为视频)。

    您需要的其余内容在ExtractMpegFramesTest 中。特别是,您希望渲染到屏幕外 pbuffer(而不是 MediaCodec 编码器输入表面),您可以使用 saveFrame() 将 pbuffer 内容保存为 PNG 文件。

    上面写成小的“无头”测试用例。您可以在 Grafika 的完整应用中看到类似的代码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多