Android camcorderProfile.videoFrameWidth/videoFrameHeight与Camera.Parameters.getSupportedPreviewSizes()之间的差异
我想在HTC Thunderbolt上创建一个只录制视频的应用程序,我正在尝试找到一个高质量的录制设置。我很困惑该从哪种设置中选择尺寸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
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非常分散。“预览”是您可以看到的实时预览视频,“视频”是您可以录制的视频,“图片”是您拍摄静止图像时的图像