作者:创世魂
● 辅助说明注意:本类位于“多媒体功能支持”模块中,必须添加此模块才能使用。
● 本类说明
帮助文档如下图:
本类实现了对“媒体视频/音频”的录制(并非屏幕录制),可用来制作类似手机相机的拍摄视频功能。
录制的具体实现过程,需要调用很多设置方法,对视频音频进行各种设置。
●置相机配置、 ●置视频源、 ●置音频源
以上三个用法用来设置视频音频等基本数据的来源信息,此处统一讲解。
“置相机配置”帮助文档:
本方法调用了“摄像头类”,通过摄像头类的相关方法可以设置一些“摄像头”的参数。
例如:前后摄像头和显示角度等,统称为配置。
注意:本方法务必放在“录制代码”的最前面。
“置视频源”帮助文档:
本方法设置视频来源,通过“媒体录制视频来源”设定。
通常情况下直接使用“媒体录制视频来源.相机”即可。
注意:本方法也要写到“录制代码”的最前面(即“准备”方法之前),“置相机配置”方法之后。
“置音频源”帮助文档如下图:
本方法设置音频来源,通过“媒体录制音频源”设置。
通常情况下直接写“媒体录制音频源.麦克风”即可。
注意:本方法要写到“准备”方法之前,“置相机配置”方法之后。
●置音频编码、 ●置音频编码比特率、 ●置音频通道数、 ●置音频采样率
以上四个方法用来设置音频相关操作,如果对音频格式不了解,建议直接按本文档给出的数据进行设置即可。
“置音频编码”帮助文档如下图:
通过本方法可以设置音频编码,通过“媒体录制音频编码”类指定。
通常情况下直接使用“媒体录制音频编码.HE_AAC”即可。
关于:HE_ACC是一种高效率高级音频编码,详情可看“百度百科”
本方法需要写到“准备”之前,“置相机配置”方法之后。
“置音频编码比特率”帮助文档如下图:
比特率:一秒钟传输的比特数量,详情看“百度百科”
通常情况下,我们常用的单位是“kbps”(即每秒钟1000比特)作为单位。
常见的“光盘”中的“数字音乐”比特率为“1411.2kbps”。
也就是记录“1秒钟”的音乐,需要“1411.2×1000”比特的数据。
总结来说:参数中的比特率,数值越大音质越好,如果不了解建议设置“320000”即可。
本方法需要写到“准备”之前,“置相机配置”方法之后。
“置音频通道数”帮助文档如下图:
通过帮助文档可以看到,参数中的“整数”类型,只能填写“1或2”,来表达“单声道”和“立体声道”。
本方法需要写到“准备”之前,“置相机配置”方法之后。
“置音频采样率”帮助文档如下图:
关于音频编码和采样率,详情可看“百度百科”,建议设置:“48000”即可。
本方法需要写到“准备”之前,“置相机配置”方法之后。
●置输出格式、 ●置视频尺寸、 ●置视频编码、 ●置视频编码比特率、 ●置视频采样率、 ●置保存地理位置
以上系列方法用于设置视频相关数据信息,如果对视频格式不了解,建议直接按本文档给出的设置进行设置即可。
“置输出格式”帮助文档如下图:
通过本方法可设置文件的指定输出格式,通过“媒体录制输出格式.XXX”调用。
通常情况下直接之用“媒体录制输出格式.MPEG_4”(即常见的mp4格式)。
本方法务必紧跟着“置音频/视频源”方法之后,否则将录制失败。
“置视频尺寸”帮助文档如下图:
通过本方法可以设置要录制视频的尺寸,参数中的“高度/宽度”单位为像素。
如果不清楚尺寸信息,建议填写宽度:“1920”,高度:“1080”即可。
注意:本方法需要在“置视频源”和“置输出格式”后,“准备”之前调用。
“置视频编码”帮助文档如下图:
通过本方法可以设置录制的视频编码,通过“媒体录制视频编码.XXX”调用。
通常情况下直接使用“媒体录制视频编码.H264”即可,此编码为大部分手机默认使用的编码。
“置视频编码比特率”帮助文档如下图:
本方法可以设置视频编码的比特率,可参考“置音频编码比特率”。
注意:本方法要写到“准备”方法之前,如果不了解直接填写“41943040”即可。
“置视频采样率”帮助文档如下图:
“视频采样率”即每秒录制的视频帧数,数值越大、视频越流畅。
如果不了解建议填写“30”或“60”都可以。
本方法需要写到“置视频源”和“置输出格式”之后,“准备”方法之前调用。
“置保存地理位置”帮助文档如下图:
通过本方法可以将经纬度保存在视频或音频中,参数提供经纬度坐标即可。
本方法需要在“准备”之前调用。
●置展示组件
帮助文档如下图:
通过本方法可以绑定一个“高级画板”用来临时显示录制时的画面。
●置录制方向
帮助文档如下图:
通过本方法可以设置,视频最终的旋转角度。
总共支持四个角度,分别是:“0、90、180和270度”。
注意:本方法同样需要在“准备”方法之前调用。
●置输出文件名
帮助文档如下图:
输出文件名,即最终的媒体文件保存路径。
可通过“取外部存储空间根目录()”获取存储卡路径。
注意:本方法需要在“置输出格式”后,“准备”之前调用。
●置输出文件最大尺寸
帮助文档如下图:
通过本方法可以限制当前录制媒体的“输出文件”时的最大尺寸。
如果填写“0”或者“负数”表示不限制。
注意:本方法需要在“置输出格式”后,“准备”之前调用。
●置最大时长
帮助文档如下图:
本方法和“置输出文件最大尺寸”不同之处在于,本方法限制的是“媒体时长”。
注意:本方法同样需要在“置输出格式”后,“准备”之前调用。
●准备、 ●开始、 ●停止、 ●重置、 ●释放
帮助说明:
以上几个方法和“媒体播放基础类”中的同名方法作用一致。
使用操作,可参考“媒体播放基础类”中同名的方法。
●发生错误(事件)
帮助如下图:
以上两个事件和“视频播放器”中的同名事件作用一致。
使用操作,可参考“视频播放器”中同名的事件,这里不再详细介绍。
界面准备如下图:
准备一个如下图的界面。
线性布局内放两个按钮,分别为“按钮1”和“按钮2”标题修改为“开始录制”和“停止录制”。
紧接着拖放一个“文本框”设置其宽度为“匹配父组件宽度”。
最后放一个“高级画板”,高度和宽度分别设置“匹配父组件高度/宽度”。
代码编写(1):
保存布局后代码如下图,随后新增一个“摄像头类”变量,起名“摄像头”。
代码编写(2):
在“按钮1”被单击下,执行“开始录制”的相关方法,配置录制参数等等……
在“按钮2”被单击下,执行“停止”方法。
如果不使用后,务必执行“释放”方法,将所有资源释放。
“摄像头”不使用后,务必执行“释放”方法来释放资源。
备注:如果录制失败或者打不开摄像头,可能是权限问题导致的。
具体解决方法,找到手机“安全中心”找到“应用权限”,设置当前应用可以打开摄像头。
运行效果如下图(GIF):
左图:录制效果。
右图:录制结束后在文件管理器就可以看到录制的视频。
注意:如果录制的时候,没有画面,可能是因为软件没有摄像头和录音权限。
打开手机安全中心,手动设置一下软件权限即可。