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
相关文章:
如何使用Golang安装API文档生成工具_快速生成接口文档
,在苏州找工作,上哪个网站比较好?
如何在Mac上搭建Golang开发环境_使用Homebrew安装和管理Go版本
如何在自有机房高效搭建专业网站?
如何选择服务器才能高效搭建专属网站?
上海网站制作网页,上海本地的生活网站有哪些?最好包括生活的各个方面的?
如何通过网站建站时间优化SEO与用户体验?
详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)
香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化
c++怎么编写动态链接库dll_c++ __declspec(dllexport)导出与调用【方法】
如何快速生成专业多端适配建站电话?
如何通过虚拟机搭建网站?详细步骤解析
制作表格网站有哪些,线上表格怎么弄?
制作门户网站的参考文献在哪,小说网站怎么建立?
香港服务器WordPress建站指南:SEO优化与高效部署策略
如何在阿里云部署织梦网站?
网站制作外包价格怎么算,招聘网站上写的“外包”是什么意思?
如何破解联通资金短缺导致的基站建设难题?
网站制作软件免费下载安装,有哪些免费下载的软件网站?
如何在IIS管理器中快速创建并配置网站?
宠物网站制作html代码,有没有专门介绍宠物如何养的网站啊?
武汉外贸网站制作公司,现在武汉外贸前景怎么样啊?
代购小票制作网站有哪些,购物小票的简要说明?
c# Task.ConfigureAwait(true) 在什么场景下是必须的
h5在线制作网站电脑版下载,h5网页制作软件?
利用JavaScript实现拖拽改变元素大小
哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?
深圳网站制作的公司有哪些,dido官方网站?
企业宣传片制作网站有哪些,传媒公司怎么找企业宣传片项目?
上海制作企业网站有哪些,上海有哪些网站可以让企业免费发布招聘信息?
如何打造高效商业网站?建站目的决定转化率
专业网站建设制作报价,网页设计制作要考什么证?
湖州网站制作公司有哪些,浙江中蓝新能源公司官网?
如何在IIS中配置站点IP、端口及主机头?
,巨量百应是干嘛的?
如何在Golang中指定模块版本_使用go.mod控制版本号
制作销售网站教学视频,销售网站有哪些?
广州美橙建站如何快速搭建多端合一网站?
商务网站制作工程师,从哪几个方面把握电子商务网站主页和页面的特色设计?
如何选购建站域名与空间?自助平台全解析
,有什么在线背英语单词效率比较高的网站?
如何在阿里云服务器自主搭建网站?
如何通过服务器快速搭建网站?完整步骤解析
相册网站制作软件,图片上的网址怎么复制?
如何选择长沙网站建站模板?H5响应式与品牌定制哪个更优?
如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?
网站制作费用多少钱,一个网站的运营,需要哪些费用?
建站之星收费标准详解:套餐费用及年费价格表一览
建站之星上传入口如何快速找到?
网站规划与制作是什么,电子商务网站系统规划的内容及步骤是什么?
*请认真填写需求信息,我们会在24小时内与您取得联系。