作者:创世魂
● 本类说明
帮助说明:
通过本类中的方法可以制作一个录音机软件。
注意:本类位于“多媒体功能支持”模块中,必须添加此模块才能使用。
● 开始录制
帮助文档如下图:
顾名思义,调用本方法后将开始录制音频。
参数1:指定输出文件名,如果忽略此参数,需要在“得到数据”事件下处理音频录制数据。
如果指定的文件存在,将会进行覆盖。
参数2:指定录制的声音来源,调用方法“媒体录制音频源.XXX”,本参数可忽略。
参数3:采样率,忽略即可。
参数4:通过“声道录制模式.XXX”来指定,本参数有默认值可以忽略。
参数5:通过“音频数据模式.XXX”来指定,本参数有默认值可以忽略。
调用本方法后必然会触发“录制已开始”事件和一系列“得到数据”事件,录制完毕后还会触发“录制已结束”事件。
● 停止录制
帮助文档如下图:
顾名思义,调用本方法会停止录制,本方法会触发“录制已结束”事件。
● 正在录制(读)
帮助文档如下图:
调用本方法可判断当前是否处于录制状态,正在录制返回真,否则返回假。
● 录制已开始(事件)
帮助文档如下图:
调用“开始录制”后,本事件会触发一次。
● 录制已结束(事件)
帮助文档如下图:
当调用“停止录制”或录制过程中出现错误时,本事件会触发。
● 得到数据(事件)
帮助文档如下图:
调用“开始录制”后,本事件会不断的触发。
调用“停止录制”或录制过程中出现错误时,本事件才会停止。
如果:“开始录制”方法,并没有指定文件路径,那么此事件的“音频数据”可以获得本次录制的数据。
“音频数据尺寸”参数,即“音频数据”参数的尺寸。
● 取WAV头信息
帮助文档如下图:
本方法为高级方法,知道即可无需深入了解,不再详细介绍。
头信息:可以理解为文件格式信息。
界面准备如下图:
打开界面设计器,放一个“按钮”和“文本框”。
文本框宽度设置为“匹配父组件”宽度。
代码编写(1):
保存布局后,新增两个变量,分别为“音频录制器”和“启动时间”。
然后在“按钮1”被单击下,判断是否正在录制。
如果处于录制状态,就执行“停止录制”方法。
否则就执行“开始录制”方法。
此处的“取当前毫秒时间()”也就是取时间戳,赋值给“启动时间”后用来记录录制时长。
代码编写(2):
右键“音频录制器”选择事件接收方法。
代码编写(3):
分别添加这三个接收事件。
代码编写(4):
添加完毕后,在“录制已开始”和“得到数据”事件下填写如下代码。
“取当前毫秒时间()”减去“启动时间”变量,就可以得到当前录制的“总毫秒数”。
继续“除1000”就可以得到录制秒。
代码编写(5):
然后在“录制已结束”事件下,分别判断“结束原因”弹出对应提示。
运行结果如下图(GIF):
最终可以看到,点击“开始录制”后,文本框内开始读秒计时。
结束录制后,打开文件管理器就可以看到被录制的音频文件。