我正在从 Android 相机拍摄视频。但是,我想将帧速率设置为每秒 1 帧。
如果我添加setVideoFrameRate(1)
,则无法正确录制视频。如果我不设置此值,则录制工作正常。
这是我的代码...
mediaRecorder = new MediaRecorder();
mediaRecorder.setCamera(camera);
mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
mediaRecorder.setOutputFile(GetOutputMediaFileDir(VIDEO_TYPE,intVideoIndex));
mediaRecorder.setVideoSize(640,480);
mediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);
mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);
// mediaRecorder.setCaptureRate(1);
mediaRecorder.setVideoFrameRate(1);
mediaRecorder.setMaxDuration(10000);
mediaRecorder.setOnInfoListener(this);
mediaRecorder.setPreviewDisplay(surfaceView.getHolder().getSurface());
mediaRecorder.prepare();
mediaRecorder.start();
基本上我需要减小视频的大小,因为我必须在可能使用 3G 网络的手机上发送它。最长的视频为 1 分钟,因此发送视频需要很长时间。
有人可以帮我解决这个问题。