Android录制视频时捕捉相机预览帧

时间:2017-02-23 10:28:14

标签: android video ffmpeg android-camera android-mediarecorder

我有摄像机对象和录制视频的代码:

Camera c = Camera.open(CameraInfo.CAMERA_FACING_BACK);
c.lock();
c.setPreviewCallback(mPreviewCallback); // catching frames
c.startPreview();
...
MediaRecorder r = new MediaRecorder();
r.setCamera(c);
r.setVideoSource(MediaRecorder.VideoSource.CAMERA);
r.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
r.setOutputFile(new File(Environment.getExternalStorageDirectory(), "video.mp4").getPath());
r.setVideoFrameRate(10);
r.setVideoSize(640, 480);
r.setVideoEncoder(MediaRecorder.VideoEncoder.H264);
r.setPreviewDisplay(holder.getSurface());
r.prepare();
r.start();

我的代码也不起作用。字符串r.start()抛出IllegalStateException,因为我在调用c.unlock()之前没有调用方法r.setCamera(c)。所以我的问题是:在没有(或代替)使用FFmpeg库和MediaMuxer& amp; MediaCodec API?

0 个答案:

没有答案