Android 音视频深入 八 小视频录制(附源码下载)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android 音视频深入 八 小视频录制(附源码下载)相关的知识,希望对你有一定的参考价值。

本篇项目地址,求start
https://github.com/979451341/Audio-and-video-learning-materials/tree/master/%E5%B0%8F%E8%A7%86%E9%A2%91%E5%BD%95%E5%88%B6

这个项目我觉得厉害,因为之前录屏用了很多代码,而这个真正实现录屏功能的代码一百行都不到

还有就是关于整个界面UI也做得不错,但是关于界面如何实现的我就不多说了,直接说如何实现录屏的代码

首先Camera如何给数据SurfaceView,从而在屏幕显示Camera拍到的东西,这个之前说多了,不在提了

1.录屏

这一次将视频数据如何将数据给MediaRecorder,两行就可以了
mMediaRecorder.setCamera(mCamera);
mMediaRecorder.setPreviewDisplay(mSurfaceHolder.getSurface());

设置音视频两个数据来源的格式
mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
mMediaRecorder.setAudiosource(MediaRecorder.AudioSource.MIC);

设置分辨率,显示屏幕的大小
//设置视频的分辨率
mMediaRecorder.setVideoSize(mProfile.videoFrameWidth, mProfile.videoFrameHeight);

设置编码的速率
mMediaRecorder.setAudioEncodingBitRate(44100);
if (mProfile.videoBitRate > 2 1024 1024) {
mMediaRecorder.setVideoEncodingBitRate(2 1024 1024);
} else {
mMediaRecorder.setVideoEncodingBitRate(mProfile.videoBitRate);
}

设置视频播放的帧率
mMediaRecorder.setVideoFrameRate(mProfile.videoFrameRate);

这是音视频编码的格式
mMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
mMediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);

设置输出文件的路径
mMediaRecorder.setOutputFile(mRecordFile.getAbsolutePath());

这项目要说缺陷就是无法在录屏的时候加特效,但是代码短,适合一些专门的用途

以上是关于Android 音视频深入 八 小视频录制(附源码下载)的主要内容,如果未能解决你的问题,请参考以下文章

Android进阶系列 - 小视频录制取消及播放

OC录制小视频

Android实现小视频的录制和预览,界面和功能靠拢微信。

JCameraView 仿微信拍照Android控件(点击拍照,长按录小视频)

第五十九篇OC录制小视频

Webcast / 技术小视频制作方法——自己动手录制video轻松搞定