音频录制器实例讲解

作者:创世魂

 

● 本类说明

 

帮助说明:

通过本类中的方法可以制作一个录音机软件。

注意:本类位于“多媒体功能支持”模块中,必须添加此模块才能使用。

 

● 开始录制

 

帮助文档如下图:

顾名思义,调用本方法后将开始录制音频。

参数1:指定输出文件名,如果忽略此参数,需要在“得到数据”事件下处理音频录制数据。

如果指定的文件存在,将会进行覆盖。

参数2:指定录制的声音来源,调用方法“媒体录制音频源.XXX”,本参数可忽略。

参数3:采样率,忽略即可。

参数4:通过“声道录制模式.XXX”来指定,本参数有默认值可以忽略。

参数5:通过“音频数据模式.XXX”来指定,本参数有默认值可以忽略。

调用本方法后必然会触发“录制已开始”事件和一系列“得到数据”事件,录制完毕后还会触发“录制已结束”事件。

 

● 停止录制

 

帮助文档如下图:

顾名思义,调用本方法会停止录制,本方法会触发“录制已结束”事件。

 

● 正在录制(读)

 

帮助文档如下图:

调用本方法可判断当前是否处于录制状态,正在录制返回真,否则返回假。

 

● 录制已开始(事件)

 

帮助文档如下图:

调用“开始录制”后,本事件会触发一次。

 

● 录制已结束(事件)

 

帮助文档如下图:

当调用“停止录制”或录制过程中出现错误时,本事件会触发。

 

● 得到数据(事件)

 

帮助文档如下图:

调用“开始录制”后,本事件会不断的触发。

调用“停止录制”或录制过程中出现错误时,本事件才会停止。

如果:“开始录制”方法,并没有指定文件路径,那么此事件的“音频数据”可以获得本次录制的数据。

“音频数据尺寸”参数,即“音频数据”参数的尺寸。

 

● 取WAV头信息

 

帮助文档如下图:

本方法为高级方法,知道即可无需深入了解,不再详细介绍。

头信息:可以理解为文件格式信息。

 

界面准备如下图:

打开界面设计器,放一个“按钮”“文本框”

文本框宽度设置为“匹配父组件”宽度。

 

代码编写(1):

保存布局后,新增两个变量,分别为“音频录制器”“启动时间”

然后在“按钮1”被单击下,判断是否正在录制。

如果处于录制状态,就执行“停止录制”方法。

否则就执行“开始录制”方法。

此处的“取当前毫秒时间()”也就是取时间戳,赋值给“启动时间”后用来记录录制时长。

 

代码编写(2):

右键“音频录制器”选择事件接收方法。

 

代码编写(3):

分别添加这三个接收事件。

 

代码编写(4):

添加完毕后,在“录制已开始”“得到数据”事件下填写如下代码。

“取当前毫秒时间()”减去“启动时间”变量,就可以得到当前录制的“总毫秒数”

继续“除1000”就可以得到录制秒。

 

代码编写(5):

然后在“录制已结束”事件下,分别判断“结束原因”弹出对应提示。

 

运行结果如下图(GIF):

最终可以看到,点击“开始录制”后,文本框内开始读秒计时。

结束录制后,打开文件管理器就可以看到被录制的音频文件。