技术新讯 > 计算推算,计数设备的制造及其应用技术 > 一种用于XR的音频播放方法及装置、电子设备和存储介质与流程  >  正文

一种用于XR的音频播放方法及装置、电子设备和存储介质与流程

  • 国知局
  • 2024-09-05 14:52:56

本公开涉及计算机,尤其涉及一种用于xr的音频播放方法及装置、电子设备和存储介质。

背景技术:

1、在云扩展现实(extended reality,xr)技术中,音频捕获采用平台相关的应用程序编程接口(application programming interface,api),在不同的平台使用各自的音频捕获系统底层api。比如windows系统的directsound、wasapi、wavex api等,linux系统的alsa、pulseaudio等。

2、针对xr的云端音频捕获系统,云端的服务端在不同平台运行时依赖平台的api,以采集声卡设备输出的音频数据,但是不同平台提供的api不同,导致无法跨平台的音频捕获。

技术实现思路

1、本公开提出了一种用于xr的音频播放技术方案。

2、根据本公开的一方面,提供了一种用于xr的音频播放方法,应用于服务端,包括:

3、获取服务端可用的音频捕获插件和当前平台中的目标声卡设备,所述服务端设置有适配于多个平台的声卡设备的多种音频捕获插件;

4、确定与所述目标声卡设备匹配的目标音频捕获插件;

5、基于所述目标音频捕获插件,获取所述目标声卡设备输出的音频数据;

6、对所述音频数据进行处理得到目标音频数据,并将所述目标音频数据发送给终端设备,所述终端设备用于对所述目标音频数据进行播放。

7、在一种可能的实现方式中,所述基于所述目标音频捕获插件,获取所述目标声卡设备输出的音频数据,包括:

8、基于所述目标音频捕获插件,通过与所述目标音频捕获插件对应的接口,获取所述目标声卡设备输出的音频数据。

9、在一种可能的实现方式中,所述基于所述目标音频捕获插件,获取所述目标声卡设备输出的音频数据,包括:

10、基于所述目标音频捕获插件,根据目标进程的标识,通过与所述目标音频捕获插件对应的接口,获取所述目标声卡设备输出的目标进程的音频数据。

11、在一种可能的实现方式中,所述对所述音频数据进行处理得到目标音频数据,并将所述目标音频数据发送给终端设备,包括:

12、接收客户端发送的时间戳,所述时间戳用于指示客户端发送所述时间戳的时刻;

13、将所述时间戳添加到所述音频数据中,并将添加时间戳后的目标音频数据发送给终端设备。

14、在一种可能的实现方式中,所述服务端为xr服务端,所述时间戳为xr客户端中用来标识位姿的时间戳,以指示目标声卡设备播放与位姿对应的音频。

15、在一种可能的实现方式中,所述对所述音频数据进行处理得到目标音频数据,并将所述目标音频数据发送给终端设备,包括:

16、根据所述终端设备的应用场景对音质和延迟的需求,确定与所述应用场景匹配的编码方式;

17、利用所述编码方式对所述目标音频数据进行编码,得到目标音频数据,并将所述目标音频数据发送给终端设备。

18、在一种可能的实现方式中,所述根据所述终端设备的应用场景对音质和延迟的需求,确定与所述应用场景匹配的编码方式,包括;

19、在所述应用场景的音质需求高于延迟需求的情况下,采用压缩比低于设定压缩阈值的编码方式;

20、在所述应用场景的音质需求低于延迟需求的情况下,采用压缩比高于设定压缩阈值的编码方式。

21、在一种可能的实现方式中,所述基于所述目标音频捕获插件,获取所述目标声卡设备输出的音频数据,以及所述对所述音频数据进行处理得到目标音频数据,并将所述目标音频数据发送给终端设备,包括:

22、创建构建音频捕获管道;

23、将所述目标音频捕获插件作为所述音频捕获管道的输入组件,并设置所述输入组件的采集对象为目标声卡设备;

24、在输入组件之后添加音频处理组件以及音频输出组件;

25、执行所述音频捕获管道中的任务,以获取所述目标声卡设备输出的音频数据,以及对所述音频数据进行处理得到目标音频数据,并将所述目标音频数据发送给终端设备。

26、根据本公开的一方面,提供了一种用于xr的音频播放方法,应用于客户端,包括:

27、创建音频播放管道;

28、接收服务端发送的目标音频数据,并提取所述目标音频数据中的时间戳;

29、在当前时刻和所述时间戳的差在设定阈值范围内的情况下,将所述目标音频数据输入回调函数传送给所述音频播放管道,执行所述音频播放管道中的任务,以对所述目标音频数据进行播放。

30、在一种可能的实现方式中,所述客户端为扩展现实xr客户端,所述服务端为xr服务端;

31、所述时间戳为xr客户端中用来标识位姿的时间戳,以指示目标声卡设备播放与位姿对应的音频。

32、根据本公开的一方面,提供了一种用于xr的音频播放装置,应用于服务端,包括:

33、设备获取单元,用于获取服务端可用的音频捕获插件和当前平台中的目标声卡设备,所述服务端设置有适配于多个平台的声卡设备的多种音频捕获插件;

34、插件确定单元,用于确定与所述目标声卡设备匹配的目标音频捕获插件;

35、音频获取单元,用于基于所述目标音频捕获插件,获取所述目标声卡设备输出的音频数据;

36、音频处理单元,用于对所述音频数据进行处理得到目标音频数据,并将所述目标音频数据发送给终端设备,所述终端设备用于对所述目标音频数据进行播放。

37、在一种可能的实现方式中,所述音频获取单元,用于基于所述目标音频捕获插件,通过与所述目标音频捕获插件对应的接口,获取所述目标声卡设备输出的音频数据。

38、在一种可能的实现方式中,所述音频获取单元,用于基于所述目标音频捕获插件,根据目标进程的标识,通过与所述目标音频捕获插件对应的接口,获取所述目标声卡设备输出的目标进程的音频数据。

39、在一种可能的实现方式中,所述音频处理单元,用于:

40、接收客户端发送的时间戳,所述时间戳用于指示客户端发送所述时间戳的时刻;

41、将所述时间戳添加到所述音频数据中,并将添加时间戳后的目标音频数据发送给终端设备。

42、在一种可能的实现方式中,所述服务端为xr服务端,所述时间戳为xr客户端中用来标识位姿的时间戳,以指示目标声卡设备播放与位姿对应的音频。

43、在一种可能的实现方式中,所述音频处理单元,用于:

44、根据所述终端设备的应用场景对音质和延迟的需求,确定与所述应用场景匹配的编码方式;

45、利用所述编码方式对所述目标音频数据进行编码,得到目标音频数据,并将所述目标音频数据发送给终端设备。

46、在一种可能的实现方式中,所述音频处理单元,用于:

47、在所述应用场景的音质需求高于延迟需求的情况下,采用压缩比低于设定压缩阈值的编码方式;

48、在所述应用场景的音质需求低于延迟需求的情况下,采用压缩比高于设定压缩阈值的编码方式。

49、在一种可能的实现方式中,所述音频获取单元,用于:创建构建音频捕获管道;将所述目标音频捕获插件作为所述音频捕获管道的输入组件,并设置所述输入组件的采集对象为目标声卡设备;在输入组件之后添加音频处理组件以及音频输出组件;

50、所述音频处理单元,用于执行所述音频捕获管道中的任务,以获取所述目标声卡设备输出的音频数据,以及对所述音频数据进行处理得到目标音频数据,并将所述目标音频数据发送给终端设备。

51、根据本公开的一方面,提供了一种用于xr的音频播放装置,应用于客户端,包括:

52、管道创建单元,用于创建音频播放管道;

53、音频接收单元,用于接收服务端发送的目标音频数据,并提取所述目标音频数据中的时间戳;

54、音频播放单元,用于在当前时刻和所述时间戳的差在设定阈值范围内的情况下,将所述目标音频数据输入回调函数传送给所述音频播放管道,执行所述音频播放管道中的任务,以对所述目标音频数据进行播放。

55、在一种可能的实现方式中,所述客户端为扩展现实xr客户端,所述服务端为xr服务端;

56、所述时间戳为xr客户端中用来标识位姿的时间戳,以指示目标声卡设备播放与位姿对应的音频。

57、根据本公开的一方面,提供了一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为调用所述存储器存储的指令,以执行上述方法。

58、根据本公开的一方面,提供了一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。

59、在本公开实施例中,通过获取服务端可用的音频捕获插件和当前平台中的目标声卡设备,所述服务端设置有适配于多个平台的声卡设备的多种音频捕获插件;从所述多种音频捕获插件中,确定与所述目标声卡设备匹配的目标音频捕获插件;基于所述目标音频捕获插件,获取所述目标声卡设备输出的音频数据;对所述音频数据进行处理得到目标音频数据,并将所述目标音频数据发送给终端设备,所述终端设备用于对所述目标音频数据进行播放。由此,通过从多种音频捕获插件中,确定与目标声卡设备匹配的目标音频捕获插件,并基于目标音频捕获插件,获取目标声卡设备输出的音频数据,使得服务端能够适用于多种不同平台,实现在xr音乐播放场景中跨平台地捕获声卡设备输出的音频。

60、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开。根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。

本文地址:https://www.jishuxx.com/zhuanli/20240905/288687.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。