1

我们知道,当相机预览比例设置为4:3而不是时,我们将在相同距离处获得更大的预览场,16:9具体如下:

Android Camera API - 奇怪的缩放效果

但是我在使用opengl使用android相机预览时遇到了一个问题,这是下面提到的第二种方式。

实现相机预览有两种方式:

  1. 没有opengl的传统方式,只需使用Camera.setPreviewTexture(SurfaceTexture texture)Camera.setPreviewDisplay(SurfaceHolder holder)
  2. ContinuousCaptureActivity使用opengl的方式,我们用API渲染预览图swapBuffers()

第一种方法还可以,如果预览比例从16:9变成4:3,我会发现预览区域变大了。

但是,第二种方式在某些安卓手机中不行,预览比例改变时预览字段保持不变,并且预览字段比第一种方式小,比例为4:3。我坚持这是一个错误,我非常想解决这个问题,谁能给我一些建议?

4

1 回答 1

4

经过一番挣扎,我终于找到了确切的原因,是APICamera.Parameters.setRecordingHint(true)

当我在源代码中删除该子句时,预览字段变得正常。

总之,APICamera.Parameters.setRecordingHint(true)是一些安卓设备中的一个错误。

对于某些设备,如果预览比例设置为 4:3(使用 API Camera.Parameters.setPreviewSize(int, int)),调用 API setRecordingHint(true) 会导致相机预览的字段变小。

于 2015-06-30T07:02:58.650 回答