博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android 音视频深入 八 小视频录制(附源码下载)
阅读量:7207 次
发布时间:2019-06-29

本文共 1136 字,大约阅读时间需要 3 分钟。

本篇项目地址,求start

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

还有就是关于整个界面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());

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

转载于:https://blog.51cto.com/13591594/2069320

你可能感兴趣的文章
10.cadence.自定义焊盘的创建[原创]
查看>>
shell编程总结
查看>>
Docker源码分析(七):Docker Container网络 (上)
查看>>
一些旁门左道
查看>>
Common Pitfalls In Machine Learning Projects
查看>>
Android内存泄漏分析及调试
查看>>
todoing
查看>>
[Cocos2d-x]Cocos2d-x 3.2 学习笔记
查看>>
进程调度
查看>>
使用代码为TextView设置drawableLeft
查看>>
Android开发(十八)——头部、中部、底部布局技巧
查看>>
Egret 集成第三方库 记录
查看>>
同源策略——浏览器安全卫士
查看>>
c/c++ 基金会(七) 功能覆盖,虚函数,纯虚函数控制
查看>>
CodeForces 484B Maximum Value
查看>>
strong vs copy
查看>>
Codeforces Round #313 (Div. 1) C. Gerald and Giant Chess DP
查看>>
基于jQuery商城网站全屏图片切换代码
查看>>
Android开发之注解式框架ButterKnife在ADT中的设置
查看>>
JAVA学习篇--Java类加载
查看>>