USART HMI 资料中心

官方技术交流QQ群:916560014

站点工具


目录索引

5.控件详解:24.音频控件

音频控件使用说明



名称操作版本日期
说明编辑
《音频控件使用说明》创建中V1.02019-01-17第一次编辑完成,正式发布。lyh
《音频控件使用说明》修订V1.12020-08-21补充本空间中所有属性详解qjj



【目录】

一、音频控件-概述

二、音频控件-简单使用

三、音频控件-属性详解

3.1、控件属性描述

3.2、控件属性编辑

      3.2.1、编辑属性   

      3.2.2、读属性

      3.2.3、写属性

3.3 、属性详解

      3.3.1、vscope属性

      3.3.2、objname属性

      3.3.3、id属性

      3.3.4、type属性

      3.3.5、from属性

      3.3.6、path属性

      3.3.7、vid属性

      3.3.8、en属性

      3.3.9、loop属性

      3.3.10、tim属性

      3.3.11、stim属性

四、音频控件-使用详解

4.1、在页面上新建音频控件

4.2、运行中改变音频控件调用音频资源

4.3、音频控件和play指令区别

4.4、音频控件实战使用


一、音频控件-概述

1.1、音频控件是串口屏诸多功能控件里面的其中一个。

1.2、用于在串口屏上播放音频文件。

1.3、在《USART HMI》软件左侧工具箱里面(如下图所示)。

注:仅x系列支持

       音频控件会占用大量内存,使用多个音频控件会导致内存溢出

       播放音频可以使用play指令 或者使用音频控件

       音频控件特有播放完成事件

图片4.png


二、音频控件-简单使用

用音频控件,做自己的第一个音效工程(如下图所示)。

图片3.png

①先添加一个音频控件


图片4.png

②添加相关音频资源


图片5.png

③选择音频id


当进入当前页面就会循环播放音频id为0的音频资源文件。


三、音频控件-属性详解

串口屏所有控件操作的实质都是对属性的修改。音频控件具有的属性如下表所示。

图片3.png

3.1、控件属性描述

      如下图所示,当鼠标选中对应属性时,会在属性窗口的最下方出现该属性的详细描述信息。

图片4.png

3.2、控件属性编辑

      3.2.1、编辑属性

      用户可以随时调整、编辑列表中的属性参数。

      注意:type和id属性由开发环境指定,用户不可修改。id可通过软件左上角置顶置底间接修改

      3.2.2、读属性

      如上图所示的控件属性列表,可以在设备运行中随时读取。

      sys0=wav0.id        将音频控件wav0的id号赋值给sys0变量     
      prints wav0.vid,0       将wav0的音频id从串口发送出去。

      注意:objname属性不可以读取。比如在事件代码中写"wav0.vid=wav0.objname"编译将报错

      3.2.3、写属性

      所有绿色控件可以在运行中实时修改。

      注意:因产品系列不同,属性的写权限也不完全相同。比如X系列可以在运行该过程中修改x,y属性。但是T0,K0系列不能在运行过程中修改x,y属性

3.3 、属性详解

      3.3.1、vscope属性

            vscope属性。控件内存占用属性。控件支持私有和全局属性。

            当设置为全局时,控件分配的内存在所有页面都可以访问。离开当前页面后,控件属性数据也不会丢失。缺点是,占用系统总内存。

      3.3.2、objname属性

            objname属性。控件名称属性。该属性在运行中不能获取。

      3.3.3、id属性

            id属性。控件id是每个控件在当前页面的唯一标识号。由系统分配,不可修改。可通过软件左上角置顶置底间接修改。

      3.3.4、type属性

            type属性。控件类型属性。由系统分别固定数据,比如音频控件属性为4。

      3.3.5、from属性

            from属性。播放源:0-内部资源文件;1-外部文件。

      3.3.6、path属性

            path属性。外部音频文件路径(如:"ram/0.wav"或"sd0/1.wav")。仅当from=1时,存在该属性。

      3.3.7、vid属性

            vid属性。音频ID。用户指定一个音频文件资源作为音频播放。仅当from=0时,存在该属性。

      3.3.8、en属性

            en属性。播放状态(0-停止;1-播放;2-暂停)。

      3.3.9、loop属性

            loop属性。循环播放:0-否;1-是。

      3.3.10、tim属性

            tim属性。当前播放时间(ms)。

      3.3.11、stim属性

            stim属性。总时间(由音频文件决定,不可设置,运行中可获取)。


四、音频控件-使用详解

4.1在页面上新建音频控件

image.png

图片5.png

1、打开一个新的空白界面▲

2、点击左侧<工具箱>里面的<音频>按钮,当前页面出现一个音频控件▲

点击音频控件,他就将会出现在特殊控件窗口

软件有专门音频转换工具,点击查看


4.2、运行中改变音频控件调用音频资源

4.2.1通过“按下或弹起事件”改变当前页面中音频控件调用音频资源 

例(1):按下当前页面中的按钮,让当前页面中的音频控件wav0使用id为3的音频。

按钮“弹起事件 或 按下事件”里面代码如下:

wav0.vid=3

代码解释:

 wav0  :当前页面中,控件名称为 wav0 的音频控件

 .vid :音频控件 wav0 属性列表中的其中一个属性,用于用户指定一个音频文件资源

 = :C语言赋值符号

 3 :3 为数值


4.2.2通过“按下或弹起事件”改变其他页面中音频控件调用音频资源 

例(2):按下当前页面中的按钮,让其他页面(页面名称叫 set)中的音频控件wav0使用id为3的音频

按钮“弹起事件/或按下事件”里面代码如下:

set.wav0.vid=3

代码解释:

 set :页面名称

 .wav0 :set页面中名字为 wav0 的音频控件

 .vid :音频控件 wav0 属性列表中的其中一个属性,用于用户指定一个音频文件资源

 = :C语言赋值符号

 3 :3 为数值


 4.2.3通过单片机串口改变当前页面中音频控件调用音频资源 

示例(1):串口发送数据让当前页面中的音频控件wav0使用id为3的音频

串口发送数据代码:

Serial.print("wav0.vid=3");
Serial.write(hexEND,3);

代码解释:

 Serial.print();  单片机串口发送字符串函数

 "wav0.vid=3"  需要发给屏的C语言字符串命令

 Serial.write();  单片机串口发送16进制函数

 hexEND,3  提前定义好的元素为3个16进制 0xff 的数组


 4.2.4通过单片机串口改变其他页面中音频控件调用音频资源

示例(2):串口发送数据让其他页面(页面名称叫 set)中的音频控件wav0使用id为3的音频

串口发送数据代码:

Serial.print("set.wav0.vid=3");
Serial.write(hexEND,3);

代码解释:

 Serial.print();  单片机串口发送字符串函数

 "set.wav0.vid=3"  需要发给屏的C语言字符串命令,其中 set 是页面名称。

 Serial.write();  单片机串口发送16进制函数

 hexEND,3  提前定义好的元素为3个16进制 0xff 的数组



4.2.5通过串口助手改变当前页面中音频控件调用音频资源 

示例(1):串口发送数据让当前页面中的音频控件wav0使用id为3的音频

串口助手发送数据代码:

wav0.vid=3
ff ff ff


串口助手截图操作说明
图片1.png

① 选择串口号(选择你电脑连接屏使用的串口号)

② 设置波特率

图片5.png图片2.png

③ 输入字符串指令

④ 输入16进制结束符


4.2.6通过串口助手改变其他页面中控件调用音频资源

示例(2):串口发送数据让其他页面(页面名称叫 set)中的音频控件使用id为3的音频

串口发送数据代码:

set.wav0.vid=3
ff ff ff


串口助手截图操作说明
图片1.png

① 选择串口号(选择你电脑连接屏使用的串口号)

② 设置波特率

图片5.png图片2.png

③ 输入字符串指令

④ 输入16进制结束符


4.3、音频控件和play指令区别

             ①音频控件播放音频只能在当前页面播放,不可跨页面播放。play指令可以在各个页面使用。如果设置各个页面按键音那么使用play指令。

             ②音频控件可以选择播放外部资源文件(sd卡文件),play指令只能播放内部资源文件。

             ③音频控件可以获取播放音频的总时间以及当前时间,play指令无法获取。

             ④音频控件会占用大量内存,使用多个音频控件会导致内存溢出。play指令不会出现类似问题。

             ⑤音频控件在事件编译窗口会有播放完成事件,play指令没有。

             

4.4、音频控件实战使用

             电话号码播报实现   点击下载

             

             素材说明

             仿电话机按键会播报按键数字,确认时会播报电话号码。

             通过play指令,音频控件实现这效果。


END


5.控件详解/24.音频控件.txt · 最后更改: 2020/08/29 09:54 由 tjcqiu        浏览次数:629/3111764(本页/全站)