Android录制视频MediaRecorder+SurfaceView的使用方法,供大家参考,具体内容如下

先看效果图:
<1>将视频动画显示到SurfaceView控件上
<2>使用MediaRecorder类进行视频的录制
常用的方法:
mediaRecorder.reset(); mediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA); //从照相机采集视频 mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC); mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); mediaRecorder.setVideoFrameRate(3); //每秒3帧 mediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H263); //设置视频编码方式 mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); File videoFile = new File(Environment.getExternalStorageDirectory(), System.currentTimeMillis()+".3gp"); mediaRecorder.setOutputFile(videoFile.getAbsolutePath()); mediaRecorder.setPreviewDisplay(surfaceView.getHolder().getSurface()); mediaRecorder.prepare();//预期准备 mediaRecorder.start();//开始刻录 mediaRecorder.stop();//停止刻录
下面看代码:
public class MediaRecorderActivity extends AppCompatActivity {
private SurfaceView sv_mediarecorder_surface;
private MediaRecorder mediaRecorder;
private boolean isStartAndStop=false;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
}
setContentView(R.layout.activity_mediarecorder);
//获取SurfaceView
sv_mediarecorder_surface = (SurfaceView) findViewById(R.id.sv_mediarecorder_surface);
//实例化媒体录制器
mediaRecorder = new MediaRecorder();
}
//视频录制与暂停的方法
public void startMediaCorder(View view){
Button button= (Button) view;
if (!isStartAndStop) {
if (mediaRecorder==null){
//实例化媒体录制器
mediaRecorder = new MediaRecorder();
}
mediaRecorder.reset();
mediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA); //从照相机采集视频
mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);//设置麦克风
//设置保存的格式
mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
//设置编码格式
mediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H263);
mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
mediaRecorder.setVideoFrameRate(3);
//获取根路径
String sdPath= Environment.getExternalStorageDirectory().getAbsolutePath();
//设置保存的路径
mediaRecorder.setOutputFile(sdPath+"/taoge"+System.currentTimeMillis()+".mp4");
//将画面展示到SurfaceView
mediaRecorder.setPreviewDisplay(sv_mediarecorder_surface.getHolder().getSurface());
//准备
try {
mediaRecorder.prepare();
mediaRecorder.start();
} catch (IOException e) {
e.printStackTrace();
}
button.setText("结束");
}else{
// 为其它应用释放摄像头
mediaRecorder.release();
mediaRecorder = null;
//关闭
button.setText("开始");
}
isStartAndStop=!isStartAndStop;
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# Android
# 录制视频
# Android使用MediaRecorder类实现视频和音频录制功能
# Android实现拍照和录制视频功能
# Android仿微信录制小视频
# Android 录制手机屏幕视频生成GIF图片实例详解
# Android 微信小视频录制功能实现详细介绍
# 解决Android MediaRecorder录制视频过短问题
# 汇总Android视频录制中常见问题
# Android使用MediaRecorder类进行录制视频
# Android视频录制功能的实现步骤
# 先看
# 具体内容
# 大家多多
# AMR_NB
# AudioEncoder
# Environment
# File
# videoFile
# setAudioEncoder
# setVideoFrameRate
# THREE_GPP
# setVideoEncoder
# VideoEncoder
# getExternalStorageDirectory
# getHolder
# surfaceView
# getSurface
# start
# prepare
# setPreviewDisplay
相关文章:
阿里云网站制作公司,阿里云快速搭建网站好用吗?
如何通过虚拟机搭建网站?详细步骤解析
宁波免费建站如何选择可靠模板与平台?
详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)
C++用Dijkstra(迪杰斯特拉)算法求最短路径
广州营销型建站服务商推荐:技术优势与SEO优化解析
如何在香港免费服务器上快速搭建网站?
如何确保FTP站点访问权限与数据传输安全?
贸易公司网站制作流程,出口贸易网站设计怎么做?
如何基于云服务器快速搭建个人网站?
Android自定义控件实现温度旋转按钮效果
大型企业网站制作流程,做网站需要注册公司吗?
C++如何将C风格字符串(char*)转换为std::string?(代码示例)
实例解析Array和String方法
上海网站制作开发公司,上海买房比较好的网站有哪些?
如何用PHP工具快速搭建高效网站?
GML (Geography Markup Language)是什么,它如何用XML来表示地理空间信息?
如何快速搭建安全的FTP站点?
免费视频制作网站,更新又快又好的免费电影网站?
如何在景安云服务器上绑定域名并配置虚拟主机?
设计网站制作公司有哪些,制作网页教程?
公司网站制作需要多少钱,找人做公司网站需要多少钱?
猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?
建站之星安装后如何配置SEO及设计样式?
nginx修改上传文件大小限制的方法
建站之星如何修改网站生成路径?
北京企业网站设计制作公司,北京铁路集团官方网站?
php json中文编码为null的解决办法
高端企业智能建站程序:SEO优化与响应式模板定制开发
宝塔面板创建网站无法访问?如何快速排查修复?
建站之星如何防范黑客攻击与数据泄露?
较简单的网站制作软件有哪些,手机版网页制作用什么软件?
专业网站建设制作报价,网页设计制作要考什么证?
建站之星展会模版如何一键下载生成?
网站制作中优化长尾关键字挖掘的技巧,建一个视频网站需要多少钱?
如何选择高效稳定的ISP建站解决方案?
武清网站制作公司,天津武清个人营业执照注销查询系统网站?
如何在阿里云ECS服务器部署织梦CMS网站?
东莞专业制作网站的公司,东莞大学生网的网址是什么?
定制建站平台哪家好?企业官网搭建与快速建站方案推荐
深入理解Android中的xmlns:tools属性
企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?
学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?
C++如何编写函数模板?(泛型编程入门)
如何在Tomcat中配置并部署网站项目?
Swift中循环语句中的转移语句 break 和 continue
单页制作网站有哪些,朋友给我发了一个单页网站,我应该怎么修改才能把他变成自己的呢,请求高手指点迷津?
重庆网站制作公司哪家好,重庆中考招生办官方网站?
长沙企业网站制作哪家好,长沙水业集团官方网站?
如何快速搭建高效WAP手机网站?
*请认真填写需求信息,我们会在24小时内与您取得联系。