Android视频录制_SurfaceView录像拍摄视频Demo下载
程序员文章站
2022-03-01 12:53:32
...
记得在前面几天分享了一个调用Android默认相机摄像的Demo、其实那个体验非常好、但唯一不理想的就是不能设置视频的分辨率、导致视频很大、平均1秒要消耗2M空间
因为这个视频是要上传服务器的、10S的视频足足有20M、这样肯定不行、所以就想的自己用SurfaceView自定义一个视频录相机、现在这个相机已经基本上可以用了、分辨率是176 * 144(可自定义)、这个样子10S的视频大概也就1M多一点、分享一下、希望对一些做视频的哥们有用、效果图如下
开始录制代码
try{ File videoFile = new File(Environment.getExternalStorageDirectory(), System.currentTimeMillis() ".mp4"); mediaRecorder = new MediaRecorder(); mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC); mediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA); mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); mediaRecorder.setVideoSize(320, 240); mediaRecorder.setVideoFrameRate(5); mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); mediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264); mediaRecorder.setOutputFile(videoFile.getAbsolutePath()); mediaRecorder.setPreviewDisplay(surfaceView.getHolder().getSurface()); mediaRecorder.prepare(); mediaRecorder.start(); }catch (Exception e) { e.printStackTrace(); } recordbutton.setEnabled(false); stopbutton.setEnabled(true);
停止录制代码
if(mediaRecorder!=null){ mediaRecorder.stop(); mediaRecorder.release(); mediaRecorder = null; } recordbutton.setEnabled(true); stopbutton.setEnabled(false);
最后给贴上Demo的源代码、希望对大家有用、有兴趣的哥们可以下载看看
源代码下载链接: http://dwtedx.com/download.html?bdkey=s/1kT5usrP 密码: gzc3