android MediaRecorder录制视频(可暂停、继续)

今天跟大家分享的是通过android 的MediaRecorder 类录制视频,具体录制的代码网上有很多。但是,我现在刚好想要实现一个可以录制暂停,然后继续录制这样的功能,这又要怎么做呢?(我在网上就没怎么搜到有介绍的,可能是我搜得不对。)接下来,就让我们一起来看看怎样实现暂停与继续录制视频。
下面是我效果图,从左到右分别是开妈的预览,录制,点击暂停,播放。
效果图

首先,因为我设置的是竖屏拍摄,所以一开始遇到的第一个问题就是预览时画面是横向现示的,那是因为手机摄像头默认的拍摄是手机横屏取像,以手机横置位置为0度,如果手机是竖直的,那么就要把摄像头旋转90度,我在demo中的处理:` 
    if (this.getResources().getConfiguration().orientation != Configuration.ORIENTATION_LANDSCAPE){
        params.set("orientation","portrait");
        camera.setDisplayOrientation(90);
    }else {
        params.set("orientation","landscape");
        camera.setDisplayOrientation(0);
    }`

同时,我们还需要让录制的视频也跟着旋转90度,所以还需要设置这一句 mediarecorder.setOrientationHint(90);至此,我们竖屏录制的预览与录出来的视频就都能正常的显示了。
现在来说一说在录制过程中的暂停与继续,原理是,开始录制视频之后,点击暂停时保存当前录制的视频文件,当点击继续按钮,继续录制视频,无论是结束录制或是暂停,我们都要将当前拍的视频与原先保存下的视频拼接成一个视频,拼接出的视频作为保存的旧视频文件,与继续录制的视频再拼接,以此下去(注意,每次拼接成功之后,都应把之前的两个视频都删除掉)。至此,我们知道了原理,就要来实现它了,这个功能的实现需要导入一个库——isoviewer-1.0-RC-27.jar 。 这个库便是用来拼接视频的,里面还有可以剪辑调用的方法。
好了,其它的也不多说了,大家可以看我上传的代码。
http://download.csdn.net/detail/u013318697/9415872

猜你喜欢

转载自blog.csdn.net/u013318697/article/details/50571834