【发布时间】:2011-12-05 11:51:14
【问题描述】:
Rezound 上的内置相机应用能够以 1080p 录制视频,但我无法通过 Android API 执行此操作。如果我使用 CamcorderProfile.QUALITY_HIGH 中的设置,一切都会很好,但这只会给我 720x480 的视频。当我尝试将分辨率提高到 1080p 时,我的应用程序在 MediaRecorder.start() 上冻结,并且任何尝试使用相机的应用程序都会停止工作,直到我重新启动手机。
这是我用来配置 MediaRecorder 的代码:
CamcorderProfile prof = CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH);
if(false){
prof.videoFrameHeight=1080;
prof.videoFrameWidth=1920;
}
prof.videoFrameRate=24;
prof.audioCodec=MediaRecorder.AudioEncoder.AAC;
prof.audioSampleRate=44100;
prof.audioBitRate=96;
prof.audioChannels=2;
mMediaRecorder.setProfile(prof);
当我在 if 块中启用代码时,应用程序会冻结。我尝试完全复制从本机相机应用录制 1080p 时获得的视频的设置。
如果能找到 Rezound 上使用的原生相机应用的来源,那就太好了。我检查了 Android 2.3.4 版本中的原生相机应用程序,它看起来不能支持任何高于 CamcorderProfile.QUALITY_HIGH 中指定的分辨率的分辨率。
【问题讨论】:
标签: android mediarecorder