通用串行总线音频设备分析方法及设备与流程
本发明涉及通用串行总线音频设备分析方法,尤其涉及一种通用串行总线音频设备分析方法及设备。
背景技术:
1、随着智能手机、平板电脑等移动终端逐步采用usb接口输出数字音频,移动终端可与外置声卡、音频解码器、耳机放大器等usb音频设备建立连接,并按照通用串行总线音频类协议完成设备枚举、音频流接口选择和音频参数配置。在音频播放过程中,移动终端通常根据系统音频策略、播放器设置、待播放音频文件的编码参数以及usb音频设备提供的音频能力,选择相应的音频格式、位深、采样率、通道数量、音频流端点和时钟源,并据此建立音频数据传输链路。
2、现有移动操作系统向第三方应用开放的内容,通常以usb设备信息、音频文件参数或播放器设置参数为主。第三方应用据此显示的音频格式、采样率和位深,主要反映音频文件的原始参数或播放器的目标输出参数。当操作系统对音频数据执行重采样、位深转换、通道转换或时钟调整时,应用程序显示的参数与usb链路中实际采用的音频流参数可能存在差异,用户据此难以准确判断移动终端的真实输出状态。
3、在usb音频类协议中,音频流参数通常由多项描述数据和控制传输共同确定。不同的接口号和备用接口设置值可对应不同的音频格式、位深、通道数量及音频流端点,采样率和时钟源还可通过相应的控制传输进行设置。因此,移动终端当前采用的音频流参数往往分散在多条控制传输及其对应的uac描述数据中。单独读取某一条控制传输,或者仅解析uac描述数据,通常只能获得局部配置内容,难以形成当前音频流状态的完整分析结果。
4、音频播放期间,移动终端还会根据曲目切换、播放策略调整、采样率变化、备用接口切换或时钟源切换等情况重新发送uac控制传输,并更新当前音频流配置。现有移动终端应用主要工作在操作系统提供的软件接口层,缺少对usb协议层控制传输的持续解析能力,也难以根据前后协商状态的变化确定参数切换过程。用户因而难以及时获知当前音频流参数的变化情况以及引起该变化的协商过程。
5、现有usb协议分析设备能够采集usb通信数据,但其输出内容通常以原始数据包和协议字段为主,并需要配合上位机进行后续分析。分析人员需要从大量通信记录中查找接口设置请求、参数设置请求及对应描述数据,再人工判断当前音频流配置。该类分析方式操作过程较为复杂,也缺少面向usb音频应用场景的实时参数还原和动态重协商事件输出。
技术实现思路
1、有鉴于此,有必要提供一种通用串行总线音频设备分析方法及设备,以解决上述问题。
2、本技术的实施例提供一种通用串行总线音频设备分析方法,应用于分析设备,分析设备包括用于连接移动终端的第一usb接口,其特征在于,包括:
3、通过第一usb接口以usb设备角色与移动终端建立连接,并向移动终端发送第一通用串行总线音频类uac描述数据,使分析设备被移动终端枚举为usb音频类接收端;
4、接收移动终端发送的uac控制传输数据,从所述uac控制传输数据中提取协商指示数据;
5、根据所述协商指示数据与所述第一uac描述数据之间的映射关系,确定移动终端当前选定的uac音频流参数,并根据所述uac音频流参数生成当前协商状态数据;
6、在音频播放过程中,根据重新接收的uac控制传输数据生成更新协商状态数据,根据所述更新协商状态数据与所述当前协商状态数据之间的差异确定动态重协商事件,并将所述更新协商状态数据作为新的当前协商状态数据;
7、输出所述当前协商状态数据中的uac音频流参数,并在确定所述动态重协商事件时输出所述动态重协商事件。
8、在本技术的至少一个实施例中,根据所述协商指示数据与所述第一uac描述数据之间的映射关系确定所述移动终端当前选定的uac音频流参数,包括:
9、根据所述第一uac描述数据建立音频流配置标识与音频参数之间的配置映射关系;
10、从所述协商指示数据中提取所述移动终端当前选定的音频流配置标识;
11、根据所述音频流配置标识查询所述配置映射关系,得到与所述音频流配置标识对应的音频格式、位深、通道数量和/或音频流端点。
12、在本技术的至少一个实施例中,所述从所述uac控制传输数据中提取协商指示数据的步骤,包括:
13、按照所述uac控制传输数据的接收时序记录多条控制传输记录;
14、根据各所述控制传输记录携带的接口号、端点地址、实体标识和/或控制对象,确定各所述控制传输记录之间的关联关系;
15、将在预设关联时窗内对应于同一音频流接口、同一音频流端点和/或同一时钟实体的控制传输记录归并为协商记录组;
16、根据所述协商记录组生成所述协商指示数据。
17、在本技术的至少一个实施例中,根据所述uac音频流参数生成当前协商状态数据,包括:
18、根据所述协商记录组中的音频流配置标识、音频格式、位深、采样率、通道数量、音频流端点和/或时钟源生成候选协商状态数据;
19、对于所述候选协商状态数据中未被所述协商记录组更新的状态参数,读取前一协商状态数据中的对应状态参数;
20、根据所述候选协商状态数据和读取的所述对应状态参数生成完整协商状态数据;
21、将满足预设生效条件的所述完整协商状态数据确定为所述当前协商状态数据。
22、在本技术的至少一个实施例中,所述预设生效条件包括所述完整协商状态数据对应的音频流端点处于启用状态和/或所述第一usb接口接收到经所述音频流端点传输的等时音频数据;
23、所述方法还包括:
24、监测所述音频流端点的接口状态和/或等时音频数据接收状态;
25、当所述音频流端点处于启用状态和/或接收到所述等时音频数据时,将所述完整协商状态数据标记为生效协商状态数据;
26、根据所述生效协商状态数据确定移动终端实际启用的uac音频流参数。
27、在本技术的至少一个实施例中,当所述协商记录组中存在针对同一状态参数的多个参数值时,根据各所述参数值对应的控制传输记录的接收顺序、控制传输结果以及对应音频流端点的启用状态,确定所述状态参数的有效参数值;
28、其中,选取其对应控制传输已完成且与处于启用状态的音频流端点相关联的参数值,并将所选取的参数值写入所述完整协商状态数据。
29、在本技术的至少一个实施例中,根据所述更新协商状态数据与所述当前协商状态数据之间的差异确定动态重协商事件,包括:
30、确定所述更新协商状态数据与所述当前协商状态数据之间发生变化的状态参数;
31、将预设事件时窗内对应于同一音频流接口、同一音频流端点和/或同一时钟实体的多个状态参数变化归并为同一动态重协商事件;
32、生成所述动态重协商事件对应的重协商前参数组合、重协商后参数组合以及触发所述状态参数变化的控制传输记录;
33、关联输出所述重协商前参数组合、所述重协商后参数组合和/或所述控制传输记录。
34、在本技术的至少一个实施例中,分析设备还包括用于连接待分析usb音频设备的第二usb接口,所述方法还包括:
35、控制所述第二usb接口以usb主机角色与所述待分析usb音频设备建立连接,获取所述待分析usb音频设备的第二uac描述数据;
36、根据所述第二uac描述数据生成多个设备能力参数组合,并根据多个所述设备能力参数组合生成音频能力数据集;
37、根据所述当前协商状态数据中的音频格式、位深、采样率和通道数量生成当前音频参数组合;
38、将所述当前音频参数组合与多个所述设备能力参数组合进行匹配;
39、在匹配时生成参数支持结果,并根据所述当前音频参数组合与所述音频能力数据集之间的参数差异生成能力使用差异结果;在不匹配时生成参数不支持结果。
40、一种分析设备,用于执行如上述任一项所述的通用串行总线音频设备分析方法,包括:
41、第一usb通信单元,用于以usb设备角色与移动终端建立连接,向所述移动终端提供第一通用串行总线音频类uac描述数据,并接收所述移动终端发送的uac控制传输数据;
42、存储单元,用于存储所述第一uac描述数据、当前协商状态数据和更新协商状态数据;
43、处理单元,分别与所述第一usb通信单元和所述存储单元连接,用于从所述uac控制传输数据中提取协商指示数据,根据所述协商指示数据与所述第一uac描述数据之间的映射关系确定所述移动终端当前选定的uac音频流参数,根据所述uac音频流参数生成所述当前协商状态数据,根据音频播放过程中重新接收的uac控制传输数据生成所述更新协商状态数据,根据所述更新协商状态数据与所述当前协商状态数据之间的差异确定动态重协商事件,并将所述更新协商状态数据作为新的当前协商状态数据;
44、输出单元,与所述处理单元连接,用于输出所述当前协商状态数据中的uac音频流参数,并在确定所述动态重协商事件时输出所述动态重协商事件。
45、在本技术的至少一个实施例中,还包括记录关联单元和状态确认单元;
46、所述记录关联单元分别与所述第一usb通信单元和所述处理单元连接,用于根据所述uac控制传输数据对应的接口号、端点地址、实体标识和/或接收时序,将对应于同一次协商过程的多条控制传输记录归并为协商记录组;
47、所述状态确认单元分别与所述第一usb通信单元和所述处理单元连接,用于监测音频流端点的启用状态和/或等时音频数据接收状态,并在所述音频流端点处于启用状态和/或接收到等时音频数据时,将根据所述协商记录组生成的协商状态数据确定为生效协商状态数据;
48、所述处理单元还用于根据所述生效协商状态数据确定所述移动终端实际启用的uac音频流参数。
49、实施本实施例的通用串行总线音频设备分析方法及设备,将至少具有以下有益效果:
50、上述提供的通用串行总线音频设备分析方法及设备,分析设备通过第一usb接口以usb设备角色与移动终端建立连接,并向移动终端发送第一uac描述数据,使分析设备作为usb音频类接收端参与移动终端的实际枚举和音频流协商。分析设备接收移动终端发送的uac控制传输数据,并结合协商指示数据与第一uac描述数据之间的映射关系,确定移动终端当前选定的uac音频流参数,从而直接反映usb音频链路中实际采用的音频格式、位深、采样率、通道数量等参数,提高音频流参数分析结果的准确性。
51、在音频播放过程中,分析设备持续接收uac控制传输数据,分别形成当前协商状态数据和更新协商状态数据,并依据二者之间的差异确定动态重协商事件。因此,当移动终端因曲目切换、输出策略调整或音频流配置变化而重新协商时,能够及时获得变化后的音频流参数及其变化情况,实现对移动终端usb音频输出状态的连续分析和在线揭示。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com