IP网络语音对讲跨路由跨网段技术的方案介绍
时间:2015-12-05 阅读:2569
该系统基于TCP/IP网络通信协议和数字音频技术,将通信发起方的音频信号数字化采样编码后,以数据包形式在局域网和广域网上传送到接收方,由接收端解码还原成音频信号
该系统实现学校早晚自习训练、课堂互动教学、远程语音教学等特色功能。早晚自习听力训练,具有自动性、强制性特点,有利于创造浓厚的自然语言氛围,从而有利于学生养成日常语言的习惯。同时校园IP网络广播系统能够替代目前语音课堂上“课本+录音机”的教学方式,教师上课时使用遥控器操作,实现节目互动点播。智能化的控制终端,具有快速数字定位及复读、变速等功能,操作直观简单,提高教学效率。
该系统在物理结构上与校园网*融合,为共享互联网的教学资源提供了方便,能够播放数字课件,及以数字方式实时转播网上电台。各级*门可以按地区集中的教师资源制作电台或课件,然后通过网络广播实现真正意义上的远程教育。还具有课件资源转换、多路实时采播、领导网上讲话、自动音乐打铃等功能。
该系统符合网络化技术及远程教育的发展趋势,丰富了利用校园网进行教学的应用,为将广播系统引入语言教学提供了一个新的发展思路,是教育信息化在教学实际应用中的具体体现。
版本 | 时间 | 内容 |
V1.0 |
|
|
V1.1 | 2011-03-08 | ·修改命令格式,增加长度字段和校验字段。 ·0x53系列命令的回应,回应帧的子命令=0x80+子命令,用于区分命令方向。 ·新添0x00命令,用于向串口发送数据。 |
V1.2 | 2011-04-04 | ·支持SDCard,加入相关的控制命令 |
V1.3 | 2011-06-16 | ·加入网络启动录播命令 |
V1.4 | 2011-08-27 | ·加入读取IO信息命令 |
V2.0 | 2011-11-19 | ·将各协议重新整理编排 |
V2.1 | 2012-02-13 | ·查询命令返回帧定义稍有改动,加入DeviceFlag2字段 ·整理SDCard相关协议,SDCard命令的回应帧中工作状态进行调整。播放文件命令添加控制参数。 |
V2.2 | 2012-05-21 | ·修改通用命令返回数据结构定义,将playip修改为peerip,将talkip修改为日期时间,将recordip去掉,其占用的位置做为备用。 |
V2.3 | 2013-04-22 | 添加对讲监听命令(0x4330,0x4331) |
1、前言
计算机可以通过UDP命令帧,搜索本地的音频设备,查询音频终端工作状态,控制音频终端的工作模式等。本协议描述了这些命令的格式及使用方法。需要注意的是,部分控制协议仅适合特殊音频终端,在具体协议中描述。
2、协议概述
2.1、概述
网络协议:UDP
目标端口:0xFEFC(与升级端口,配置端口使用一样)
2.2、数据类型
协议使用多种数据类型,各种数据类型描述如下:
BYTE:单个字节
WORD:双字节,(协议长度字段为高位在前,低位在后。其他为低位在前,高位在后。)
INT:四字节,低位在前
IPTYPE:四字节,高位在前
STR:字符串,以’\0’结束。协议中STR32表示长度为32字节的字符串。
INT类型内存排列示例:
低位0x12345678高位
0x780x560x340x12
IPTYPE类型内存排列示例:
低位192.168.1.11高位
0xC00xA80x010x0B
STR类型内存排列示例:
低位“audio”高位
0x610x750x640x690x6f0x00
2.3、协议格式
Type(BYTE)
Cmd(BYTE)
Length(WORD)
PDU(不定长)
和校验(BYTE)
说明:
Type为命令帧开头,表征不同类型命令。
Cmd为辅助命令,表征具体命令。Type+Cmd表征一个*的命令。
Length为PDU内容的长度,低位在前。
PDU为命令帧的内容,部分命令帧没有PDU,及PDU长度为0;
校验为从帧*个字节开始到校验前一个字节的累加和。
3、详细协议说明
(将所有控制命令,罗列一表,使用户易于查看)
3.1、通用命令
通用命令是所有音频设备都支持的命令,所有音频设备收到命令后都会回应。
3.1.1、查询设备(0x5301)
可以使用此命令帧搜索本地网络的音频设备,跨网段设备无法使用此命令搜索。要求音频设备配置好IP和子网掩码。通常用于工作中主动检查设备的工作状态。
发送:
Type=0x53
Cmd=0x01
Length=0x0000
和校验=0x54
设备收到此命令后,用如下帧回应
Type=0x53
Cmd=0x81
Length
Unuse1(12BYTEs)
Mac(6BYTEs)
Ip(IPTYPE)
Group(4BYTES)
CurrGroup(BYTE)
Devicetype(BYTE)
Version(STR32)
DeviceName(STR16)
PAStatus(1BYTE)
Volume(BYTE)
Unuse2(2BYTES)
NetMask(IPTYPE)
ServerIp(IPTYPE)
ServerPort(WORD)
Group2(4BYTES)
DeviceFlag(WORD)
DeviceFlag2(WORD)
PeerIp(IPTYPE)
Year
Month
Day
Hour
Minut
Second
Unuse(WORD)
CurrPlayFileName(STR48)
DeviceTypeName(STR32)
和校验
用户程序可以使用目标地址为“255.255.255.255”的广播地址,向本地网的所有设备发送查询请求信息。设备收到此信息后,延时0~2秒(延时时间是随机的),设备用回应帧回应用户计算机。
由于查询返回帧根据需要,会添加其他的信息,因此程序不应根据返回长度判断合法性。
下表对返回值进行描述
描述取值范围或类型说明
Mac设备的Mac
IP设备的IP地址
Group设备1~4组播组号
CurrGroup临时组播组号
DeviceType未用
Version设备固件版本
DeviceName设备名字
PAStatus输出继电器状态
Volume当前音量
NetMask子网掩码
ServerIp服务器IP地址
ServerPort服务器端口
Group2设备5~8组播组号
DeviceFlag设备状态(不建议使用)
DeviceFlag2设备状态,此状态定义可参考《音频设备串口协议V2》中工作状态状态说明表。
PeerIp远端IP地址,根据所处的状态不同,表示音频源,采播目标,对讲远端IP
年月日时分秒系统时钟
CurrPlayFileName当前播放的音频流文件名
DeviceTypeName设备类型
3.1.2、设置临时组(0x5302)
音频设备支持zui多8个固定组和1个临时组,网络音频设备在同一时间,加入9个组,当网络上有这些组的音频流时,音频设备接收处理,播放。临时组功能与固定组功能一样,不同的是临时组号保持在人RAM中,掉电后此组号会复位。此组号通常用于工作中,临时的将原属于不同分组的设备组成一个临时的组,向其播放音频流。
此命令帧对所有设备都适用。但对于没有播放能力的音频设备,没有任何意义。
发送:
Type=0x53
Cmd=0x02
Length=0x0001
CurrGroup(BYTE)
和校验
设备收到后,回应
Type=0x53
Cmd=0x82
Length
Unuse1(12BYTES)
(Nbytes此处信息与查询返回相同)
和校验
需要注意的是,设置临时组回应帧的组成与查询回应帧基本上是一致的,回应帧中的临时组号调整为临时组命令所设置的组号。
3.1.3、控制继电器输出(0x5303)
有些网络音频设备具有继电器控制接口,此接口接功率驱动电路(比如三极管功率放大电路)后可以驱动继电器,用于控制外接设备(比如大功率功放)。
此接口是被动控制的,音频设备只有接收到此控制帧后才控制继电器控制接口的输出。对于部分没有此控制接口的音频设备,没有实际意义。
发送:
Type=0x53
Cmd=0x03
Length=0x0001
PAStatus(BYTE)
和校验
设备接收到命令后回应:
Type=0x53
Cmd=0x83
Length
Unuse1(12BYTES)
(Nbytes此处信息与搜索返回相同)
和校验
回应帧包含的信息与查询回应帧相似,回应帧中表征功放继电器的状态变为当前的状态。
3.1.4、设置时间命令(0x5306)
部分音频设备内部有时钟,可用此协议命令设置音频时间。
要求设备固件版本大于V2.33
发送:
Type=0x53
Cmd=0x06
Length=0x0006
年
月
日
时
分
秒
和校验
设备接收到命令后回应:
Type=0x53
Cmd=0x86
Length
Unuse1(12BYTES)
(Nbytes此处信息与搜索返回相同)
和校验
3.1.5、设置下次报告时间(0x5307)
音频设备正常工作时,如果发生状态改变,会主动的向服务器报告状态信息。并且会自动的调整报告状态信息的间隔时间。服务器收到这些状态信息后,应该使用此命令回复设备,设置下一次的报告时间。例外是,如果在间隔时间结束前发生时间,状态报告会提前发出。
此命令暂无回应,需要音频设备固件版本>V2.33
发送:
Type=0x53
Cmd=0x07
Length=0x0002
间隔时间(WORD)
和校验
间隔时间是下次报告时间的,单位为秒;例如设置为60表示正常的下一次报告时间为一分钟;
3.2、采播相关命令
部分音频具有对模拟音频进行采样,编码后播放的功能。此小节描述与采播有关的控制命令。
需要设备进行采播时,用提交采播方案命令,将采播方案保存到音频设备中。然后使用启动采播方案和停止采播方案对音频设备的采播动作进行控制。任何时候都可以使用查询采播方案状态,了解音频设备的采播状态。
3.2.1、提交采播方案(0x4322)
向音频设备提交一个采播方案。
发送:
Type=0x43
Cmd=0x22
Length(WORD)
方案ID(INT)
控制字(BYTE)
音源(BYTE)
音量(BYTE)
优先级(BYTE)
方案名称(STR32)
采样频率(WORD)
输入增益(BYTE)
备用(BYTE)
播放目标IP(IPTYPE)
保活时间(WORD)
目标端口(WORD)
备用(INT)
备用(INT)
和校验
每个不同的采播方案,应该分配一个*的方案ID,并在提交方案时,将此ID一并提交。
控制字描述了此采播方案的可选动作,如下表
Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0
DD
DD:如果为1,表示在进行采播前,音频设备不播放一段叮咚提示音。
音源,表示采播终端从其多个模拟输入的那个通道进行音频采集。此值如为0xff,表示忽略此项,采用默认选项。
音量:表示采播终端向外播放的音频流的音量大小,取值[0~100],如果此值为0xff,表示忽略此项,采用默认值。
优先级:表征播放音频流的优先级设置,取值[0~255],如果此值为0xff表示忽略此项,采用设备默认值。
方案名称zui多32字节,应给方案一个有意义的名字,用于设备本地的显示。
采样频率:取值[8000,16000,24000,32000],如果此值为0xffff,表示忽略此项,采用设备默认值。
播放目标IP:表示采播方案的播放目标,如需广播,此IP=0xffffffff,组播则填入组播地址,组播地址范围[224.100.1.1~224.100.1.255],单播则填入单播地址。
采播音频终端收打提交的方案后,保存到本地,并回应
回应帧:
0x43
0xA2
Length(WORD)
方案ID(INT)
状态(BYTE)
和校验
回应帧中的方案ID与提交的方案ID相同。
状态为0表示提交成功,其他表示提交方案失败,当方案正在运行时,提交方案返回失败状态,此时应该先使用停止方案命令控制采播设备停止方案运行。
3.3.2、查询采播方案状态(0x4323)
计算机可以在任何时候查询采播方案的状态,包括方案的细节,运行的时间等。
发送:
0x43
0x23
Length(WORD)
和校验
采播设备收到此命令后,回应采播方案状态,回应帧:
Type=0x43
Cmd=0xA3
Length(WORD)
运行时间(INT)
方案ID(INT)
控制字(BYTE)
音源(BYTE)
音量(BYTE)
优先级(BYTE)
方案名称(STR32)
采样频率(WORD)
输入增益(BYTE)
备用(BYTE)
播放目标IP(IPTYPE)
备用(INT)
备用(INT)
备用(INT)
和校验
运行时间,为0表示没有开始运行,其他表示已经进行采播工作的时间,单位为秒。
其他返回的信息与『提交采播方案』描述相同。
3.2.3、启动采播方案(0x4324)
使用提交采播方案,将方案保存到采播设备后,还需要使用启动采播方案,采播方案才开始工作。
发送:
0x43
0x24
Length(WORD)
方案ID(INT)
和校验
发送帧中的方案ID应与采播设备内的ID相同,否则启动失败。
采播设备接收到启动命令后,发送回应帧:
0x43
0xA4
Length(WORD)
方案ID(INT)
状态(BYTE)
和校验
说明:
回应帧中的方案ID与发送帧的方案ID是一样的。
状态表征启动方案命令的执行状态,为0表示启动成功,为1表示方案ID错误,启动失败,为2表示方案正确运行,命令被忽略。
3.2.4、终止采播方案(0x4325)
采播设备进入采播状态后,会一直不间断的运行,直到收到终止采播方案命令,才停止采播。
发送:
0x43
0x25
Length(WORD)
方案ID(INT)
和校验
方案ID应该与正在运行的方案ID相同。
采播设备收到命令后回应:
0x43
0xA5
Length(WORD)
方案ID(INT)
状态(BYTE)
和校验
回应帧中的方案ID是正在运行的方案ID。
状态表征终止方案命令的执行状态,为0表示终止成功,为1表示方案ID错误,终止失败,为2表示方案没有运行,命令被忽略。
3.2.5、调整录播增益(0x4326)
发送:
0x43
0x26
Length(WORD)
方案ID(INT)
增益(BYTE)
和校验
方案ID应该与正在运行的方案ID相同。
采播设备收到命令后回应:
0x43
0xa6
Length(WORD)
方案ID(INT)
状态(BYTE)
和校验
回应帧中的方案ID是正在运行的方案ID。
状态表示执行,为0表示调整成功,为1表示方案ID错误,调整失败,为2表示方案没有运行,命令被忽略。
3.2.6、录播保活命令(0x4327)
发送:
0x43
0x27
Length(WORD)
方案ID(INT)
保活时间(WORD)
和校验
方案ID应该与正在运行的方案ID相同。
保活时间,单位秒,在接下来的保活时间内收不到保活帧,本次采播自动终止。
采播设备收到命令后回应:
0x43
0xA7
Length(WORD)
方案ID(INT)
状态(BYTE)
和校验
回应帧中的方案ID是正在运行的方案ID。
状态表示执行,为0表示成功,为1表示方案ID错误,为2表示方案没有运行,命令被忽略。
3.2.7、开始录播(0x4320不推荐)
使用命令,控制音频模块进入录播模式,采集本地音频,向的目标ip播放,目标ip可以是广播,组播或单播
0x43
0x20
Length=0x0010
CmdID(4bytes)
目标IP(4bytes)
音量(1byte)
优先级(1byte)
采样率(2byte)
本地mic增益(2byte)
音源(0-mic,1-linein)(1byte)
录音状态(1byte)
和校验
说明:
CmdId是命令ID,如果此ID不为0,那么通过网络命令接收录播需要提交此ID,以确认身份。此功能在很大程度上能做到只有发出录播命令的设备才有权终止录播。如果此值为0,意味着任何网络终端都有权终止录播。
远端地址形如:192.168.0.2
播放音量取值0~100,如果为0xff,采用预设值
数据优先级取值0~255
采样率取值[8000,16000,24000,32000,48000],如果为0xffff,采用预设值。
本地增益取值[0~65534],如果为0xffff,采用预设值
音源取值[0,1],如果为0xff,采用预设值。
回应:
0x43
0xA0
Length=0x000A
系统状态
状态
CmdID(4bytes)
目标IP(4bytes)
和校验
音频设备收到命令后,立即执行,并回应主机,回应帧中
系统状态:当前的系统状态,是位变量,与串口命令返回的状态相同。
状态:如果为0表示开始录播,如果非0表示出现异常,可能是音频设正忙,不能执行录播命令。
CmdId是接收到的ID的复制值。
目标IP,与命令的目标IP相同。
3.2.8、结束录播(0x4321不推荐)
音频设备接收到此命令后,立即终止当前的录播。如果当前不在录播模式,此命令无任何意义。
0x43
0x21
Length=0x0004
CmdID(4bytes)
和校验
收到此命令,向远端回应信息。
0x43
0xA1
Length=0x0004
目标IP(4bytes)
和校验
3.3、IO接口操作
有些网络音频设备具有4~8个用户IO输入输出接口,用户可以通过IO操作命令读取输入接口的状态,控制输出端口的输出。当输入口发生变化时,音频设备会主动将端口变化消息发送到的事件服务器的特定端口。
3.3.1、控制输出IO(0x4304)
通过此命令,可以控制音频设备输出IO的高低电平。
发送:
0x43
0x04
Length=0x0002
IO端口号(1byte)
状态(1byte)
和校验
音频设备收到命令帧后立即回应:
0x43(1byte)
0x84(1bytes)
Length(2bytes)
IO端口号(1byte)
状态(1byte)
和校验
端口号是位类型,bit0为1表示控制*个io口,bit1为1表示控制第二个io口,依次类推。
状态也是位类型,与端口对应,为1表示高电平,为0表示低电平。
比如端口为0x03,状态为0x01,表示将*个io口设置为高电平,第二个io口设置为低电平。
此命令回应当前所有端口状态。端口号与状态含义与发送命令相同。
3.3.2、输入IO状态变化消息(0x4305)
当音频设备的输入IO发送变化时,如果此时音频设备的事件服务器IP有效,则向事件服务器的0xFEFC端口发送消息,消息帧如下:
设备发送:
0x43
0x05
Length=0x0015
MID(2bytes)
消息类型(1byte)
IO端口号(1byte)
本机设备名(16bytes)
状态(1byte)
和校验
事件服务器收到此消息后,应该用MID回应设备,设备收到回应后,将消息从自身消息缓存删除。如果设备没有收到有效回应,间隔1秒,连续发送3次。此后自动从消息缓存删除消息。
0x43(1byte)
0x85(1bytes)
Length(2bytes)
MID(2bytes)
和校验
3.3.3、读取设备IO状态信息(0x4306)
计算机也可以主动的发送查询IO状态命令,读取设备的IO输入和IO输出状态。
发送:
0x43
0x06
Length=0x0002
备用=0(1byte)
备用=0(1byte)
和校验
设备收到后回应
0x43(1byte)
0x86(1bytes)
Length(2bytes)
IO端口号(1byte)
状态(1byte)
和校验
端口号和状态含义与IO状态信息相同
3.3.4、保留(0X4307)
该指令用于SR301
3.4、SDCard相关
在V2.31以上版本,部分音频终端支持SDCard(例如EA1203,NA702T,NA703C等),可通过网络上传和下载音频文件到SDCard,通过网络控制命令,使音频终端播放的音频文件。
音频终端内有一个简单的FTP服务器,支持通过网络下载文件到SDCard,也可将音频通过网络上传。FTP协议请参考RFC959
需要注意的是,音频终端SDCard文件仅支持8.3格式,不满足格式的文件名将被裁剪,可能导致文件名出现乱码。
以下是支持的FTP命令,未列出的指令暂不支持。
USER
PASS
PWD
CDUP
CWD
LIST
NLST
DELE
RMD
MKD
PORT
RETR
STOR
QUIT
NOOP
同时支持以下命令,用于控制音频终端,播放SDCard上的音频文件。
3.4.1、播放的音频文件(0x4310)
播放sdcard上的文件,文件名应该是一个路径文件名,根目录为‘/’。帧中的文件名是可变长度的,可根据Length计算出文件名长,文件名以’\0’结束。例如“旗开得胜.mp3”,表示播放SDCard根目录下的音频文件;“/1/江南.wma”表示播放“1”目录下的“江南.wma”音频文件。
0x43
0x10
Length=0x00xx
音量(1byte)
备用
播放进度(WORD)
备用(4bytes)
文件名(小于128字节)
和校验
音量表示本地的播放音量大小,取值0~100。
播放进度表示从文件的那部分开始播放,取值0~1000,比如500表示从文件中间开始播放,如果文件播放长度为4分钟,则从第2分钟开始播放。此参数仅对MP3格式文件有效。
当音频终端接收到指令后,回应命令。
0x43
0x90
Length=0x00xx
工作状态
回应状态
和校验
工作状态描述了当前音频设备的内部工作状态,定义可参考《音频设备串口协议V2》中的工作状态说明表。
回应状态:播放指令是否能执行,如果为0表示正确执行,1表示文件不存在,2表示正在忙,不能执行。(如果当前的音频模块处于对讲,录播,或正在进行SDCard文件播放模式下,此命令回应状态返回2)。
当文件播放结束后,音频终端会发生一个事件消息给发送命令的主机(主机应该在命令端口上持续监听),帧格式如下:
0x43
0x91
Length=0x00xx
工作状态
状态
和校验
状态表示文件播放结束的原因。
0:正常结束,文件播放完成后返回正常结束。
1:无效。
2:文件错误,播放的文件错误或不存在。
工作状态含义同上。
3.4.2、停止SDCard文件播放(0x4312)
如需在播放SDCard中途,停止播放,可发出此命令。帧格式如下。
0x43
0x12
Length=0x0000
和校验
音频终端接收到此控制命令后,停止当前的文件播放,返回空闲状态。并回应远端命令
回应帧:
0x43
0x92
Length=0x0000
状态
和校验
状态=0表示命令执行成功,=1表示当前音频设备工作状态不是播放SDCard文件状态。
3.5、对讲相关
3.5.1、启动对讲监听(0x4330)
发送此命令个目标设备,要求目标设备将对讲时的语音发送一份给的监听服务器,监听服务器应该在的端口上开启udp服务监听,当收到数据后,调用LCCodec.dll动态库提供的解码函数进行解码。
此命令对当前对讲有效,对讲结束后会自动的取消对讲监听。
命令帧
0x43
0x30
Length
命令ID(INT)
监听服务器IP(IPTYPE)
监听服务器端口(WORD)
保活(WORD)
和校验
命令ID表示此监听的ID,当发送停止监听命令时,需要提交此ID。
保活表示需要服务器定时发送0x4332命令,如果不发送,在发生超时后停止监听。保活时间单位为秒
回应
0x43
0xB0
Length
命令ID(INT)
状态(0=成功,1=失败)
和校验
当前状态如果不是对讲,此命令执行失败。
3.5.2、停止对讲监听(0x4331)
用于停止当前对讲监听。
命令帧
0x43
0x31
Length
命令ID(INT)
和校验
回应
0x43
0xB1
Length
命令ID(INT)
状态(0=成功,1=失败)
和校验
当前状态如果不是对讲,此命令执行失败。
状态=0表示命令执行成功,=1表示当前不再对讲状态;=2表示命令ID不合,
3.6、其他(不推荐)
此外,音频模块还支持其他网络命令,这些命令是过时,未来版本可能不支持的命令,因此不推荐客户使用。
3.6.1、根据设备名检索设备信息(0x5304)
数据格式
0x53
0x04
Length=0x0010[注1]
设备名(16bytes)
和校验[注1]
如果单播,终端接收到后回应。
0x53(1byte)
0x84(1bytes)
3.6.2、根据关键字检索设备信息(0x5305)
数据格式
0x53
0x05
Length=0x0003[注1]
设备名关键字(3bytes)
和校验[注1]
如果单播,终端接收到后回应。
0x53(1byte)
0x85(1bytes)
Length(2bytes)
Unuse1(12bytes)
Ip(4bytes)
Devicetype(1bytes)
DeviceName(16bytes)
和校验[注1]
3.6.3、控制设备呼叫远端(0x4301)
数据格式
0x43
0x01
Length=0x0004[注1]
远端IP(4byte)
地址顺序[192,168,0,55]
和校验[注1]
终端接收到后回应
0x43(1byte)
0x81(1bytes)
Length(2bytes)
Unuse1(12bytes)
状态0=成功,其他=失败
和校验[注1]
3.6.4、查询远端呼叫状态(0x4302)
数据格式
0x43
0x02
Length=0x0000[注1]
和校验[注1]
终端接收到后回应
0x43(1byte)
0x82(1bytes)
Length(2bytes)
Unuse1(12bytes)
状态(1byte)
和校验[注1]
状态
1:对讲
2:拨号
3:设备拨入
其他:空闲
3.6.5、控制设备断开呼叫(0x4303)
数据格式
0x43
0x03
Length=0x0000[注1]
和校验[注1]
终端接收到后回应
0x43(1byte)
0x03(1bytes)
Length(2bytes)
Unuse1(12bytes)
状态0=成功,其他=失败
和校验[注1]
如果设备当前状态不是对讲状态,返回失败。
[注1]为了加强控制命令的严谨性,所有的命令帧都加上了长度和和校验字段,只有满足长度属性和和校验属性的命令才解析并执行。
[注2]仅在有对讲功能的固件版本上实现。
3.6.6、调节音量(0x4313)
当音频终端播放SDCard上的文件时,可通过此命令调节播放音量的大小。
0x43
0x13
Length=0x0002
选项
音量
和校验
如果选项=0,表示音量是相对音量,音量应填入调整的数值,[-10,10],如果选项=1,表示填入音量,范围[0,100];
收到命令后,会回应以下回应帧。
回应帧:
0x43
0x93
Length=0x0001
当前音量
和校验
当前音量表示调整后的音量。
3.6.7、调整音量偏量(0x4318)
音频设备接收到此命令后,调节播放音量偏量,此偏量与音频流的音量矢量和决定zui终该音频设备的播放音量。音量偏量范围[-100,100]。
音量偏量是byte类型,0xff=-1;0xfe=-2;以此类推
0x43
0x18
Length=0x0001
设置的音量偏量(bytes)
和校验
收到此命令,向远端回应信息。
0x43
0x98
Length=0x0001
当前的音量偏量(1byte)
和校验
设置此音量偏量,音频设备会在稍后的时间将此音量保存到flash中,下次上电运行,会读入此音量偏量。