Android Camera.Parameters.setRecordingHint和纵横比

Android Camera.Parameters.setRecordingHint和纵横比,android,android-camera,Android,Android Camera,我发现了一些奇怪的行为,我想更好地理解 如果我将其设置为true,预览图像的大小可能会与我传递到的不同。这取决于我将它设置为什么大小——有些纵横比有效,有些则无效 请参见下面的屏幕截图--setPreviewSize已设置为640x480,但其中一个已将RecordingHint设置为true,另一个设置为false。我有产生这种效果的代码 这是预期的行为吗?的文档中没有这样的内容 我看到了很多随机行为,不幸的是,这也取决于oem。我在一些手机上也看到了帧速率的不同,比如Nexus4预览版的帧速

我发现了一些奇怪的行为,我想更好地理解

如果我将其设置为
true
,预览图像的大小可能会与我传递到的不同。这取决于我将它设置为什么大小——有些纵横比有效,有些则无效

请参见下面的屏幕截图--
setPreviewSize
已设置为640x480,但其中一个已将RecordingHint设置为
true
,另一个设置为
false
。我有产生这种效果的代码

这是预期的行为吗?的文档中没有这样的内容


我看到了很多随机行为,不幸的是,这也取决于oem。我在一些手机上也看到了帧速率的不同,比如Nexus4预览版的帧速率下降了一半。我们依赖于预览帧回调来达到我们想要的帧速率,所以不幸的是,我们必须将其切换到手机型号

您需要将
视频大小
参数设置为正确的值。我也有同样的问题-预览大小是
640x480
,使用
setRecordingHint(true)
时预览显示为拉伸。然后我使用
getParameters().flant()
打印出为我的
相机设置的所有参数。我的
视频大小
参数实际设置为
1920x1080
,导致纵横比不正确。您可以使用
params.set(“视频大小”、“WxH”)
更改此参数。只有这样,纵横比才是正确的。

事实上,在运行4.4.2的MotoG上,这完全破坏了视频记录。您可以录制一个视频,但如果您尝试使用预览界面冻结和录制挂起来准备媒体录制器再次录制。我可以确认,在Nexus 4(Android 5.0)上,禁用录制提示时,帧速率将减半。然而,在许多其他设备上,它根本不会降低帧速率(包括LG G3)。我们办公室里的笑话是,提示是不要设置RecordingInti。我可以在LG G3(Android 4.4.2)上确认这一确切问题。
“视频大小”
有记录吗?谢谢你的建议,我实际上必须设置所有3种大小(预览、图片和视频)设置为相同的值以使其在三星S4上正常工作:/这真的很奇怪,根本没有文档记录!请注意,如果“视频大小值”列表中的分辨率不合格,则设置“视频大小”可能不起作用。