一种UAC设备静音状态的检测方法、装置和电子设备与流程

文档序号:34610709发布日期:2023-06-29 06:58阅读:70来源:国知局
一种UAC设备静音状态的检测方法、装置和电子设备与流程

本发明涉及音频,具体涉及一种uac设备静音状态的检测方法、装置、存储介质、电子设备和计算机程序产品。


背景技术:

1、在实时音视频通讯会议中,用户发言时需要使用麦克风设备。现有的绝大多数麦克风设备上均会设置有控制按钮,通过该控制按钮可以执行控制静音、取消静音、增加音量、减小音量、开关机等操作。现有最常见的麦克风设备是usb接口的全向麦克风设备。全向麦克风设备是一种常见的uac(usb audio class,usb音频类)设备。在实时音视频通讯会议中,最常见的操作就是执行静音的操作和执行解除静音的操作。例如,用户发言时,需要解除静音;而用户不需要发言时,可以关闭静音,上述过程均需要对应用和设备之前的静音状态进行同步处理。

2、当用户从界面上执行静音/解除静音操作时,可以通过调用系统的接口直接进行操作,此时,麦克风设备会同步执行静音/解除静音操作,此时,应用的状态和设备的状态是同步的。但是,从设备上进行静音/解除静音操作时,需要应用去适配获取设备的静音/解除静音状态,然后将设备的静音/解除静音状态同步到应用界面上。

3、在实际应用场景中,需要提供一种静音检测方法,该方法能够同步设备和应用之前的静音状态。

4、针对uac设备,所采用的静音状态的同步方法,目前主要有两种方式。一种方式是使用hid(human interface device,人体学接口设备)规范,调用hidapi库,通过抓取报告描述符的方式以获取当前uac设备的静音状态。使用hid规范的方式需要去查阅相关的报表描述符,由于不同设备的描述符所采用的格式可能不一致,需要调用并加载hidapi库,对各个设备逐一进行适配处理,这将使得获取当前uac设备的静音状态的过程变得繁琐且耗时。

5、另一种方式是根据使用的麦克风设备厂商所提供的sdk(software developmentkit,软件开发工具包)去适配设备,以获取当前uac设备的静音状态。该方法需要不仅需要对各个设备依次进行适配处理,并且需要加载第三方库。当使用厂商提供的sdk进行适配处理时,需要逐个对厂商设备进行适配。在这个适配过程中,若存在多个不同的sdk,需要依次加载不同的sdk,并逐个对厂商设备进行适配,上述整个操作过程极其繁琐。


技术实现思路

1、基于此,有必要针对基于现有的uac设备静音状态的检测方法需要依赖第三方库或者需要逐一适配设的问题,提供一种uac设备静音状态的检测方法、装置、存储介质、电子设备和计算机程序产品。

2、第一方面,本技术实施例提供了一种uac设备静音状态的检测方法,所述方法包括:

3、对通过uac设备采集的音频数据按照预设方式进行分帧处理,得到对应的每帧音频数据;

4、将每帧数据设置的预设数量的每一个采样点的幅值和预设的第一阈值依次进行比对,确定每一个采样点对应的当前帧是否为静音帧,以统计静音计数值或非静音计数值,所述第一阈值用于确定每一个采用点对应的当前帧是否为静音帧;

5、根据所述静音计数值、所述非静音计数值和预设的第二阈值,确定当前帧处于静音状态或者处于非静音状态,所述第二阈值用于确定当前帧是否为静音状态。

6、在一种实施方式中,所述对通过uac设备采集的音频数据按照预设方式进行分帧处理,得到对应的每帧音频数据,包括:

7、对通过uac设备采集的音频数据,每间隔第一预设时间间隔,回调对应的音频数据;

8、对所述音频数据进行分帧处理,将每间隔第二预设时间间隔的每一个音频数据作为一帧音频数据。

9、在一种实施方式中,所述将每帧数据设置的预设数量的每一个采样点的幅值和预设的第一阈值依次进行比对,确定每一个采样点对应的当前帧是否为静音帧,以统计静音计数值或非静音计数值,包括:

10、从所述预设数量的每一个采样点中随机选取任一采样点作为当前采样点;

11、获取当前采样点的第一幅值;

12、响应于当前采样点的所述第一幅值小于或等于所述第一阈值,确定当前采样点为静音帧,以统计静音计数值。

13、在一种实施方式中,所述统计静音计数值,包括:

14、静音计数值在当前数值的基础上累加1,并将非静音计数对应的数值重置为0。

15、在一种实施方式中,所述将每帧数据设置的预设数量的每一个采样点的幅值和预设的第一阈值依次进行比对,确定每一个采样点对应的当前帧是否为静音帧,以统计静音计数值或非静音计数值,包括:

16、从所述预设数量的每一个采样点中随机选取任一采样点作为当前采样点;

17、获取当前采样点的第二幅值;

18、响应于当前采样点的所述第二幅值大于所述第一阈值,确定当前采样点为非静音帧,以统计非静音计数值。

19、在一种实施方式中,所述统计非静音计数值,包括:

20、非静音计数值在当前数值的基础上累加1,并将静音计数对应的数值重置为0。

21、在一种实施方式中,所述根据所述静音计数值、所述非静音计数值和预设的第二阈值,确定当前帧处于静音状态或者处于非静音状态,包括:

22、响应于所述静音计数值等于所述第二阈值,确定当前帧处于静音状态。

23、在一种实施方式中,在所述确定当前帧处于静音状态之后,还包括:

24、响应于确定当前帧处于静音状态,将当前帧的静音状态同步至待同步的应用。

25、在一种实施方式中,所述根据所述静音计数值、所述非静音计数值和预设的第二阈值,确定当前帧处于静音状态或者处于非静音状态,包括:

26、响应于所述非静音计数值等于所述第二阈值,确定当前帧处于非静音状态。

27、第二方面,本技术实施例提供了一种uac设备静音状态的检测装置,所述装置包括:

28、分帧处理模块,用于对通过uac设备采集的音频数据按照预设方式进行分帧处理,得到对应的每帧音频数据;

29、第一确定模块,用于将每帧数据设置的预设数量的每一个采样点的幅值和预设的第一阈值依次进行比对,确定每一个采样点对应的当前帧是否为静音帧,以统计静音计数值或非静音计数值,所述第一阈值用于确定每一个采用点对应的当前帧是否为静音帧;

30、第二确定模块,用于根据所述静音计数值、所述非静音计数值和预设的第二阈值,确定当前帧处于静音状态或者处于非静音状态,所述第二阈值用于确定当前帧是否为静音状态。

31、第三方面,本技术实施例提供一种电子设备,所述电子设备包括:

32、处理器;

33、用于存储所述处理器可执行指令的存储器;

34、所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述可执行指令以实现上述的方法步骤。

35、第四方面,本技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序用于执行上述的方法步骤。

36、第五方面,本技术实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现上述的方法步骤。

37、在本技术实施例中,对通过uac设备采集的音频数据按照预设方式进行分帧处理,得到对应的每帧音频数据;将每帧数据设置的预设数量的每一个采样点的幅值和预设的第一阈值依次进行比对,确定每一个采样点对应的当前帧是否为静音帧,以统计静音计数值或非静音计数值,第一阈值用于确定每一个采用点对应的当前帧是否为静音帧;以及根据静音计数值、非静音计数值和预设的第二阈值,确定当前帧处于静音状态或者处于非静音状态,第二阈值用于确定当前帧是否为静音状态。本技术实施例提供的uac设备静音状态的检测方法,不需要依赖第三方库,也无需根据厂商提供的sdk逐一适配设备,能够有效地简化现有的检测方法的流程;此外,该检测方法的运算量小、且准确率高,能够实时且精准地确定出当前帧是否处于静音状态,因此,该检测方法简单易用,能够适用于更多的应用场景中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1