【问题标题】:How do you set a Camera to take its images in .mpo format?如何设置相机以 .mpo 格式拍摄其图像?
【发布时间】:2012-01-25 08:25:23
【问题描述】:

在我的应用程序中,我有一个 SurfaceView 显示相机预览,并且想使用我手机上的立体相机拍摄 3D 图片(对于好奇,该应用程序有一个新奇的取景器)。如果您切换到 3D 模式,手机上的相机应用程序会将它们保存为 .mpo 格式。

Camera 的可用ImageFormat 值不包括mpo。默认情况下,似乎新实例化的相机设置为返回 jpg 数据。设置参数.setPictureFormat(ImageFormat.UNKNOWN);导致 IllegalArgumentException。

有谁知道如何让 onPictureTaken() 回调来接收 mpo 数据?

【问题讨论】:

  • 我尝试使用 Parameters.getSupportedPictureFormats() 方法,但它只返回 17 和 256(分别是 NV21 和 jpeg)。可能 Android 不支持立体摄像头,OEM 必须实现自定义 API 以及摄像头应用。

标签: android-camera image-formats


【解决方案1】:

事实证明:现有的 Android 不提供立体摄像头,至少在撰写本文时发布的 ICS 版本中是这样。您需要的是 OEM sdk,以利用特定于设备的库来获取适当的回调。

HTC Evo 这里有东西:http://htcdev.com/devcenter/opensense-sdk

夏普 Aquos 手机在这里有东西:https://sh-dev.sharp.co.jp/android/modules/sdk/index.php?/sdk

我希望有一些跨设备方法可以使用。 :( 为每个 3D 设备实现代码将会很费力,尽管目前还没有很多。

【讨论】:

  • 您是否找到了从 HTC 设备输出 MPO 文件的确切过程?我的一位开发人员无法弄清楚这一点。
  • 不幸的是,这是一个我无法再访问的公司项目,而且时间已经够长了,我不记得是如何访问的了。不过,我确实在 Evo 和 Aquos 上运行了该应用程序。
  • 实际上,再想一想,我认为我只了解了 Aquos,并不是说无论哪种方式我都会非常有帮助。对不起。
猜你喜欢
  • 2015-03-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多