Android camcorderProfile.videoFrameWidth/videoFrameHeight与Camera.Parameters.getSupportedPreviewSizes()之间的差异

Android camcorderProfile.videoFrameWidth/videoFrameHeight与Camera.Parameters.getSupportedPreviewSizes()之间的差异,android,camera,mediarecorder,Android,Camera,Mediarecorder,我想在HTC Thunderbolt上创建一个只录制视频的应用程序,我正在尝试找到一个高质量的录制设置。我很困惑该从哪种设置中选择尺寸 1. CamcorderProfile.videoFrameWidth/Height 2. Camera.Parameters.getSupportedPreviewSizes() 我从设备上读取值。这是: 1. CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH) returns: videoFra

我想在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()
我不明白这些函数之间的关系,以及使用哪一个函数的目的是什么。你有什么想法吗

谢谢,
然而,在Android API 11版及更高版本中,有一个名为
getPreferredPreviewSizeForVideo()
的函数

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

API版本10及以下的版本似乎没有这样的东西,因此,Android camera非常分散。

“预览”是您可以看到的实时预览视频,“视频”是您可以录制的视频,“图片”是您拍摄静止图像时的图像