如何循环android摄像头录制

时间:2016-08-25 10:22:16

标签: android camera android-camera android-camera2

我需要以10MB的块录制视频,为此我使用mMediaRecorder.setMaxFileSize(1085760);一旦达到指定的大小,我就会在setOnInfoListener (In this case i received the file MediaRecorder.MEDIA_RECORDER_INFO_MAX_FILESIZE_REACHED中获得重新录制的视频。

当达到此状态时,录制停止,所以我再次开始录制。由于这一点,摄像机视图闪烁并且还会发生内容丢失(由于摄像机重新初始化所花费的时间(少于5秒)。)

DailyRoads中,他们完全符合我的需要,他们如何通过相机重新初始化来循环录制。

这是我的代码片段。

 mMediaRecorder.setMaxFileSize(8485760);
 mMediaRecorder.setVideoEncodingBitRate(10000000);
        mMediaRecorder.setVideoFrameRate(30);
        mMediaRecorder.setVideoSize(mVideoSize.getWidth(), mVideoSize.getHeight());
        mMediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);
        mMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
        mMediaRecorder.setOnInfoListener(new MediaRecorder.OnInfoListener() {
            @Override
            public void onInfo(MediaRecorder mr, int what, int extra) {
                switch (what) {
                    case MediaRecorder.MEDIA_RECORDER_INFO_MAX_FILESIZE_REACHED:
                        Log.e("MEDIA_RECORDER_INFO_MAX_FILESIZE_REACHED", what + "");
//                        stopRecordingVideo();
                        mThresholdReachListener.onMaxLimitReached(videoFilePath);


        stopRecordingVideo();


    handler.postDelayed(new Runnable() {
        @Override
        public void run() {
            startRecordingVideo();
        }
    }, 100);

                        break;
                }
            }
        });

0 个答案:

没有答案