我正在做一个需要通过录制视频来创建 GIF 图像并将此视频转换为 GIF 的项目。为此,我遵循两个步骤:
- 将视频转换为图像列表。
- 将图像列表转换为 GIF。
问题是:如何录制长度约为 10 秒且帧数约为 20 帧的视频。mediaRecorder.setVideoFrameRate(framecount) 由于某些原因不起作用。
mediaRecorder.setCamera(GIFCamera.c);
mediaRecorder.setAudioSource(MediaRecorder.AudioSource.CAMCORDER);
mediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
// mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
mediaRecorder.setProfile(CamcorderProfile
.get(CamcorderProfile.QUALITY_HIGH));
mediaRecorder.setOutputFile(AppConst.VIDEO_PATH);
Camera.Size bestSize = GIFCamera.getBestSize();
System.out.println(bestSize.width);
System.out.println(bestSize.height);
mediaRecorder.setVideoSize(bestSize.width, bestSize.height);
mediaRecorder.setVideoFrameRate(30);
mediaRecorder.setPreviewDisplay(myCameraSurfaceView.getHolder()
.getSurface());
try {
mediaRecorder.prepare();
} catch (IllegalStateException e) {
releaseMediaRecorder();
return false;
感谢您的关注,并为我糟糕的英语感到抱歉。