我想在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()
我不理解这些功能之间的关系,以及用于何种目的的功能。你有什么想法吗?
谢谢, Howy
答案 0 :(得分:0)
在Android API 11及更高版本中,有一个名为getPreferredPreviewSizeForVideo()
的函数。
所以正确的做法是使用该API查询预览大小,使用该预览大小,然后根据该大小进行记录。
似乎API版本10及以下版本没有这样的东西,因此,Android相机非常分散。