【问题标题】:mCameraParameters.setPreviewSize causes takePicture callback to not firemCameraParameters.setPreviewSize 导致 takePicture 回调不触发
【发布时间】:2016-05-24 18:00:01
【问题描述】:

我正在尝试在三星 Galaxy s3 (i9300) 上设置具有特定尺寸的相机参数setPreviewSize,在我的情况下为 1280 x 720。

cameraParameters.setPreviewSize(1280, 720);//1280, 720 is in the getSupportedPreviewSizes
mCamera.setParameters(cameraParameters);

此预览尺寸在cameraParameters.getSupportedPreviewSizes 下列为“支持的尺寸”。在这种情况下,它是第二个(索引 1)。

当我将预览大小设置为此时,预览工作。我得到了显示的视频流,但是当我打电话给mCamera.takePicture(null, null, mPicture) 时,我似乎不再得到 jpeg PictureCallback

如果我将预览大小设置为970, 720,回调就会被触发。

是否存在某些禁用拍照的预览尺寸?或者这可能是硬件问题?

【问题讨论】:

  • 你试过用setPictureSize方法吗?你能注意到有什么不同吗?另外,onPictureTaken() 回调是否会触发任何异常?
  • 有趣。当我将setPictureSize 设置为1280, 720 并设置相同的setPreviewSize 时,一切正常。
  • 既然这对您有所帮助,我会将其转换为答案。虽然,它需要进一步解释
  • 您是否尝试过获取支持的图片尺寸,getSupportedPictureSizes()?并尝试在 setPictureSize() 中设置您想要的那个?你现在能看出有什么不同吗?
  • 我刚做了。默认图片大小为3264, 2448,在supportedPictureSizes中。

标签: android android-camera


【解决方案1】:

尝试设置图片大小,即:

 setPictureSize(1280, 720);

【讨论】:

  • 这帮助很大!实际的问题是预览大小和图片大小的纵横比不同(16:9 vs 4:3)。使方面相等解决了问题!谢谢!
  • @Cort3z 你允许轮换吗?如果设备旋转,纵横比会改变
  • 我正在做一些旋转的事情,是的,但是在我启动它之后它不会旋转。 (屏幕旋转已关闭)。如果您添加一些有关纵横比(甚至可能是旋转)的信息,我会接受:)
  • @Cort3z 预览的纵横比和图片本身的纵横比似乎有关系。所以,你已经找到了预览的纵横比,比如说 4:3。在这种情况下,您必须设置具有相同纵横比的图片大小。此外,在这种情况下,您可能会避免图像失真。如果你会尝试,你能更新线程吗?我真的很好奇..
猜你喜欢
  • 2020-10-11
  • 2015-06-06
  • 1970-01-01
  • 2015-07-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多