0

我想在 HTC Thunderbolt 上创建一个仅视频录制应用程序,并且我正在尝试找到一个高质量的录制设置。我很困惑从哪个设置中选择尺寸。

1. CamcorderProfile.videoFrameWidth/Height 
2. Camera.Parameters.getSupportedPreviewSizes()

我从设备中读取了值。他们来了:

1. CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH) returns:

   videoFrameWidth: 720
   videoFrameHeight: 480

2. Camera.Parameters.getSupportedPreviewSizes() returns:

   Camera supported preview width = 800 height = 480
   Camera supported preview width = 640 height = 480
   Camera supported preview width = 640 height = 384

现在,如果我使用来自

1. By calling MediaRecorder.setVideoSize(720,480), I got an error when I try to start recording. (E/MediaRecorder(4446): start failed: -16), 
2. By calling MediaRecorder.setVideoSize(800,480), it works fine.

我很困惑使用哪个设置。此外,还有2个其他功能

3. Camera.Parameters.getSupportedPictureSizes() 

4. Camera.Parameters.getSupportedVideoSizes()

我不明白这些功能之间的关系,以及哪个用于什么目的。你有什么想法?

谢谢,豪伊

4

1 回答 1

0

在 Android API 版本 11 及更高版本中,有一个名为getPreferredPreviewSizeForVideo().

所以正确的做法是使用该 API 来查询预览尺寸,使用该预览尺寸,然后根据该尺寸进行记录。

API 10 及以下版本似乎没有这种东西,因此,Android 相机碎片化程度很高。

于 2012-09-22T00:18:23.180 回答