使用CWAC-Camera预览尺寸

时间:2013-12-26 22:34:04

标签: android camera commonsware-cwac

我和https://github.com/commonsguy/cwac-camera

一直在争吵

管理以创建自定义CameraFragment和自定义自定义CameraHost

我已经过度getPictureSizegetPreviewSize。通过这两种方法,我可以找出哪些Size s 能够被使用。我的总体想法是捕获正方形图像,并在捕获之前预览它。

我一直在测试,没有设备返回方格式Size,所以我想最好的方法是将尺寸调整到最接近我的需要。就像我需要800x800平方图像一样,我会返回最近的Size,那将是(例如)1280x1024

到目前为止一切顺利。问题如下:

文档说明:

  

通常,您的CameraHost将使用getPreviewSize()

进行调用

该死;我的Nexus5设备永远不会触发这种方法,但Genymotion模拟器可以。因此,在我的模拟器中,我可以创建自定义预览大小,我无法使用我的真实设备。 所以我需要一些帮助解决这个问题。为什么它只是“通常”?我该怎么办才能将其改为“永远”?

在第二个学期,我需要一些提示:如果我想要一个平方的预览尺寸,我知道默认情况下它不会被Size s 提供{{1 ,我该怎么做才能显示正方形?也许在getSupportedPreviewSizes之上覆盖一个正方形?它甚至可能吗?或者我应该采取其他方法吗?

无论如何,祝贺图书馆;它绝对清晰,有很多选择。无需担心“某些设备”。这对Android开发者来说很棒。

谢谢。

1 个答案:

答案 0 :(得分:3)

  

为什么只是“通常”?我该怎么办才能将其改为“永远”?

引用文档:

  

如果getRecordingHint()返回ANYVIDEO_ONLYCameraHost会通过getPreferredPreviewSizeForVideo()而不是getPreviewSize()提供预览尺寸。如果您希望为视频使用不同的预览尺寸,请将其返回,否则返回null,我们将使用getPreviewSize()的结果。

在API级别11+上,SimpleCameraHost getPreferredPreviewSizeForVideo()的实施委托给getPreferredPreviewSizeForVideo()上的Camera.Parameters实施,但已知为其返回较差值的设备除外。< / p>

  

我该怎样做才能展示广场?也许在CameraFragment上叠加一个正方形?

我会尝试将CameraView直接放在您自己的用户界面中,然后使用FrameLayoutRelativeLayout对其进行分层,以控制Z轴排序。