【问题标题】:Take Pictures from the Front Camera Android从安卓前置摄像头拍照
【发布时间】:2015-03-06 20:21:50
【问题描述】:

这似乎是一个老问题,但我真的需要一些帮助。

我想要什么

我正在进行一项活动,我想显示用户使用前置摄像头为他/她拍照的小预览(或可能不显示)。当用户单击按钮时,将拍摄快照并将其存储在某个位置。

我想支持 4.0+,所以我想我可以使用 TextureView。

但我真的无法将它添加到我的布局或得到任何结果。请帮助我提供一个简单易行的解决方案,以便我可以正常工作。

谢谢。

【问题讨论】:

  • 从 Android SDK 附带的相机演示开始。或者,如果您遇到的正面有特定问题,而背面也有问题,请告诉我们您遇到的问题。
  • @JaySnayder 这方面的分步教程会很有帮助。
  • 您是否收到任何类型的错误?如果是这样,你可以发布它。或者你已经尝试过的一些代码。

标签: android android-camera surfaceview textureview


【解决方案1】:

试试https://github.com/alexcohn/JBcamera。不要陷入使用Camera.open(1) 来寻址前置摄像头的陷阱,使用CameraInfo 检查数字和朝向的映射。

【讨论】:

  • 它真的很棒,我必须说!但我特别需要前置摄像头在没有预览的情况下拍照,如果可能的话,在服务中。你请更新它,这将是一个很大的帮助。
  • 隐藏预览是一项棘手的任务,Android 平台不支持,但它可能适用于您的特定设备。一些设备将简单地允许 null 用于预览显示。其他人会让您将预览表面移到视线之外 - 例如,坐标(-1000,-1000)。在其他设备上,您可以将其设置为 1x1 像素表面。你也可以尝试用一些不透明的视图覆盖预览表面,但是预览表面有弹出到其他上面的趋势。
  • 你可以在服务中做任何事情,但你仍然需要一个视图,除非你的设备对 null 的预览显示感到满意。
  • 感谢您提供如此深入的回答。但我看到一些流行的应用程序,如 Vault 或 LockDown Pro,在所有设备上都完美地做到了这一点。必须有某种方式,因为他们在所有设备中都这样做。至少,有些东西可能不会在不受支持的设备上拍照,但不会抛出任何异常。
  • 我想支持我的应用程序 o Android 4.0+,所以使用 TextureView 是一种解决方案,因为它支持透明。那么,您能否使用 TextureView 更新您的代码。提前致谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-31
  • 1970-01-01
  • 2014-07-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多