我在我的代码中实现了一个录像机,它几乎可以在所有设备上运行 除了HTC One X.视频记录卡住了(第一张图片没有改变),当我试图打开文件时,我收到一个弹出窗口“无法播放视频,抱歉此视频无法播放“
以下是我的设置
mMediaRecorder.setPreviewDisplay(mSurfaceHolder.getSurface());
// Use the same frame rate for both, since internally
// if the frame rate is too large, it can cause camera to become
// unstable. We need to fix the MediaRecorder to disable the support
// of setting frame rate for now.
mMediaRecorder.setVideoFrameRate(mProfile.videoFrameRate);
//mMediaRecorder.setVideoSize(mVideoWidth, mVideoHeight);
mMediaRecorder.setVideoSize(640,480); // Works On Note(not on HTC One X)
mMediaRecorder.setVideoEncodingBitRate(MAXIMAL_PERMITTED_VIDEO_ENCODING_BITRATE);
// mMediaRecorder.setVideoEncoder(mProfile.videoCodec);
mMediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.DEFAULT);
// mMediaRecorder.setAudioEncoder(mProfile.audioCodec);
mMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);
由于
答案 0 :(得分:0)
我根据此问题调整了一些代码How can I capture a video recording on Android?来录制视频,将其设置为640x480,并且在我的AT& T One X上运行正常: https://raw.github.com/lnanek/Misc/master/HtcOneXVideoRecord/src/com/htc/sample/videorecord/RecordVideo.java
因此,不是640x480本身并不起作用。你设置的比特率有什么价值?您是否考虑过使用配置文件,这些配置文件是否支持组合?例如,您可以设置:
mRecorder.setProfile(CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH)
这会将分辨率,比特率等设置为有效的值。高品质录音有各种常数,低等等。