Camera MediaRecorder / CamcorderProfile

时间:2011-01-17 13:51:42

标签: android camera mediarecorder

这是我的问题,我正在开发一个使用相机并录制视频的软件,一切正常但我无法发现如何管理设置,例如我有一个可以录制视频的三星Galaxy S 1280x720 ,但是当我将此分辨率设置为:

CamcorderProfile profile;
profile = CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH);
profile.videoFrameWidth = 1280;
profile.videoFrameHeight = 720;
profile.videoFrameRate = 30;
recorder.setProfile(profile);

logcat显示以下消息:

01-17 14:22:28.706: WARN/AuthorDriver(2782): Intended video encoding frame width (1280) is too large and will be set to (128849019680)

01-17 14:22:28.706: WARN/AuthorDriver(2782): Intended video encoding frame height (720) is too large and will be set to (1078895784755680)

并且参数会自动缩放为 800x480

1 个答案:

答案 0 :(得分:2)

不完全确定为什么使用CamcorderProfile,android doc提到这是只读的。

如果要将视频录制大小设置为1280x720,则

  • 从相机参数中获取支持的视频大小列表(只是为了确保设备支持您想要设置的大小) -

    public List<Camera.Size> getSupportedVideoSizes () 
    
  • 然后在媒体录制器上调用设置视频大小 -

    public void setVideoSize (int width, int height)