音频传输方法及系统技术方案

技术编号:26417891 阅读:22 留言:0更新日期:2020-11-20 14:12
本公开提供一种音频传输方法及系统,涉及音频处理领域,能够解决现有音频传输效率低且音频时延长的问题。具体技术方案为:接收零客户端发送的音乐播放指令;控制虚拟机操作系统打开音频软件;控制Virtio虚拟声卡前端从音频软件中获取音频数据;控制Virtio虚拟声卡前端将音频数据发送给Virtio虚拟声卡后端;控制Virtio虚拟声卡后端将音频数据通过网络发送给零客户端。由于可以直接通过Virtio虚拟声卡前端和Virtio虚拟声卡后端进行音频数据的发送,从而减少了音频数据传输的路径,提升了音频传输效率,降低了音频延时,提高了实时性,有效提升了用户体验。

【技术实现步骤摘要】
音频传输方法及系统
本公开涉及音频处理领域,尤其涉及音频传输方法及系统。
技术介绍
在现有的基于KVM(Kernel-basedVirtualMachine,简称为:基于内核的虚拟机)的云桌面系统中,对于虚拟声卡的设计,主要是通过虚拟操作系统模拟器(例如:qemu)纯软件模拟的方式实现的,这种实现方案,称为全虚拟化的实现方案。虚拟声卡位于qemu中,其与零客户端(zeroclient,简称为:ZC)之间的数据通信需要经过KVM进行中转。由于每次声音数据的输入/输出(input/output,简称为:I/O)操作需要经过很长的路径,因此,这种以全虚拟化的方式实现的虚拟声卡会使得语音传输效率比较低、语音延时比较大、实时性不好,用户体验不佳。
技术实现思路
本公开实施例提供一种音频传输方法及系统,能够解决现有音频传输效率低且音频时延长的问题。所述技术方案如下:根据本公开实施例的第一方面,提供一种音频传输方法,所述方法应用于服务器,所述服务器中包括:虚拟机操作系统和虚拟操作系统模拟器,所述虚拟机操作系统内设置Virtio虚拟声卡前端,所述虚拟操作系统模拟器内设置Virtio虚拟声卡后端;所述方法包括:接收零客户端发送的音乐播放指令;控制所述虚拟机操作系统打开音频软件;控制所述Virtio虚拟声卡前端从所述音频软件中获取音频数据;控制所述Virtio虚拟声卡前端将所述音频数据发送给所述Virtio虚拟声卡后端;控制所述Virtio虚拟声卡后端将所述音频数据通过网络发送给所述零客户端。本公开实施例提供的音频传输方法,方法应用于服务器,服务器中包括:虚拟机操作系统和虚拟操作系统模拟器,虚拟机操作系统内设置Virtio虚拟声卡前端,虚拟操作系统模拟器内设置Virtio虚拟声卡后端;方法包括:接收零客户端发送的音乐播放指令;控制虚拟机操作系统打开音频软件;控制Virtio虚拟声卡前端从音频软件中获取音频数据;控制Virtio虚拟声卡前端将音频数据发送给Virtio虚拟声卡后端;控制Virtio虚拟声卡后端将音频数据通过网络发送给零客户端。由于可以直接通过Virtio虚拟声卡前端和Virtio虚拟声卡后端进行音频数据的发送,从而减少了音频数据传输的路径,提升了音频传输效率,降低了音频延时,提高了实时性,有效提升了用户体验。在一个实施例中,所述控制所述Virtio虚拟声卡前端将所述音频数据发送给所述Virtio虚拟声卡后端,包括:控制所述Virtio虚拟声卡前端将所述音频数据存储在缓存中;当检测到所述缓存中存储了完整的所述音频数据后,将完整的所述音频数据发送给所述Virtio虚拟声卡后端。在一个实施例中,所述控制所述Virtio虚拟声卡前端将所述音频数据存储在缓存中,包括:控制所述Virtio虚拟声卡前端将所述音频数据存储在环形队列的缓存中。根据本公开实施例的第二方面,提供一种音频传输方法,所述方法应用于零客户端,所述方法包括:向服务器发送音乐播放指令;接收所述服务器发送的音频数据;播放所述音频数据。根据本公开实施例的第三方面,提供一种音频传输方法,所述方法应用于服务器,所述服务器中包括:虚拟机操作系统和虚拟操作系统模拟器,所述虚拟机操作系统内设置Virtio虚拟声卡前端,所述虚拟操作系统模拟器内设置Virtio虚拟声卡后端;所述方法包括:接收零客户端发送的控制指令,所述控制指令指示所述零客户端需要使用麦克风的语音功能;控制所述虚拟机操作系统打开语音软件;控制所述Virtio虚拟声卡后端接收所述零客户端通过网络发送的麦克风数据;控制所述Virtio虚拟声卡后端将所述麦克风数据发送给所述Virtio虚拟声卡前端;控制所述Virtio虚拟声卡前端将所述麦克风数据发送给所述语音软件。在一个实施例中,所述控制所述Virtio虚拟声卡后端将所述麦克风数据发送给所述Virtio虚拟声卡前端,包括:控制所述Virtio虚拟声卡后端将所述麦克风数据存储在缓存中;当检测到所述缓存中存储了完整的所述麦克风数据后,将完整的所述麦克风数据发送给所述Virtio虚拟声卡前端。在一个实施例中,所述控制所述Virtio虚拟声卡后端将所述麦克风数据存储在缓存中,包括:控制所述Virtio虚拟声卡后端将所述麦克风数据存储在环形队列的缓存中。根据本公开实施例的第四方面,提供一种音频传输方法,所述方法应用于零客户端,所述方法包括:向服务器发送控制指令,所述控制指令指示所述零客户端需要使用麦克风的语音功能;接收麦克风数据;将所述麦克风数据发送给所述服务器。根据本公开实施例的第五方面,提供一种音频传输系统,所述系统包括:零客户端和服务器;所述服务器中包括:虚拟机操作系统和虚拟操作系统模拟器,所述虚拟机操作系统内设置Virtio虚拟声卡前端,所述虚拟操作系统模拟器内设置Virtio虚拟声卡后端;所述零客户端,用于向所述服务器发送音乐播放指令;所述服务器,用于接收零客户端发送的音乐播放指令;所述服务器,用于控制所述虚拟机操作系统打开音频软件;所述服务器,用于控制所述Virtio虚拟声卡前端从所述音频软件中获取音频数据;所述服务器,用于控制所述Virtio虚拟声卡前端将所述音频数据发送给所述Virtio虚拟声卡后端;所述服务器,用于控制所述Virtio虚拟声卡后端将所述音频数据通过网络发送给所述零客户端;所述零客户端,用于接收所述服务器发送的音频数据;所述零客户端,用于播放所述音频数据。在一个实施例中,所述服务器,用于控制所述Virtio虚拟声卡前端将所述音频数据存储在缓存中;所述服务器,用于当检测到所述缓存中存储了完整的所述音频数据后,将完整的所述音频数据发送给所述Virtio虚拟声卡后端。在一个实施例中,所述服务器,用于控制所述Virtio虚拟声卡前端将所述音频数据存储在环形队列的缓存中。根据本公开实施例的第六方面,提供一种音频传输系统,所述系统包括:零客户端和服务器;所述服务器中包括:虚拟机操作系统和虚拟操作系统模拟器,所述虚拟机操作系统内设置Virtio虚拟声卡前端,所述虚拟操作系统模拟器内设置Virtio虚拟声卡后端;所述零客户端,用于向服务器发送控制指令,所述控制指令指示所述零客户端需要使用麦克风的语音功能;所述服务器,用于接收零客户端发送的控制指令,所述控制指令指示所述零客户端需要使用麦克风的语音功能;所述服务器,用于控制所述虚拟机操作系统打开语音软件;所述零客户端,用于接收麦克风数据;所述零客户端,用于将所述麦克风数据发送给所述服务器;所述服务器,用于控制所述Virtio虚拟声卡后端接收所述零客户端通过网络发送的麦克风数据;所述服务器,用于控制所述Virtio虚拟声卡后端将所述麦克风数据发送给所述本文档来自技高网...

【技术保护点】
1.一种音频传输方法,其特征在于,所述方法应用于服务器,所述服务器中包括:虚拟机操作系统和虚拟操作系统模拟器,所述虚拟机操作系统内设置Virtio虚拟声卡前端,所述虚拟操作系统模拟器内设置Virtio虚拟声卡后端;所述方法包括:/n接收零客户端发送的音乐播放指令;/n控制所述虚拟机操作系统打开音频软件;/n控制所述Virtio虚拟声卡前端从所述音频软件中获取音频数据;/n控制所述Virtio虚拟声卡前端将所述音频数据发送给所述Virtio虚拟声卡后端;/n控制所述Virtio虚拟声卡后端将所述音频数据通过网络发送给所述零客户端。/n

【技术特征摘要】
1.一种音频传输方法,其特征在于,所述方法应用于服务器,所述服务器中包括:虚拟机操作系统和虚拟操作系统模拟器,所述虚拟机操作系统内设置Virtio虚拟声卡前端,所述虚拟操作系统模拟器内设置Virtio虚拟声卡后端;所述方法包括:
接收零客户端发送的音乐播放指令;
控制所述虚拟机操作系统打开音频软件;
控制所述Virtio虚拟声卡前端从所述音频软件中获取音频数据;
控制所述Virtio虚拟声卡前端将所述音频数据发送给所述Virtio虚拟声卡后端;
控制所述Virtio虚拟声卡后端将所述音频数据通过网络发送给所述零客户端。


2.根据权利要求1所述的方法,其特征在于,所述控制所述Virtio虚拟声卡前端将所述音频数据发送给所述Virtio虚拟声卡后端,包括:
控制所述Virtio虚拟声卡前端将所述音频数据存储在缓存中;
当检测到所述缓存中存储了完整的所述音频数据后,将完整的所述音频数据发送给所述Virtio虚拟声卡后端。


3.根据权利要求2所述的方法,其特征在于,所述控制所述Virtio虚拟声卡前端将所述音频数据存储在缓存中,包括:
控制所述Virtio虚拟声卡前端将所述音频数据存储在环形队列的缓存中。


4.一种音频传输方法,其特征在于,所述方法应用于零客户端,所述方法包括:
向服务器发送音乐播放指令;
接收所述服务器发送的音频数据;
播放所述音频数据。


5.一种音频传输方法,其特征在于,所述方法应用于服务器,所述服务器中包括:虚拟机操作系统和虚拟操作系统模拟器,所述虚拟机操作系统内设置Virtio虚拟声卡前端,所述虚拟操作系统模拟器内设置Virtio虚拟声卡后端;所述方法包括:
接收零客户端发送的控制指令,所述控制指令指示所述零客户端需要使用麦克风的语音功能;
控制所述虚拟机操作系统打开语音软件;
控制所述Virtio虚拟声卡后端接收所述零客户端通过网络发送的麦克风数据;
控制所述Virtio虚拟声卡后端将所述麦克风数据发送给所述Virtio虚拟声卡前端;
控制所述Virtio虚拟声卡前端将所述麦克风数据发送给所述语音软件。


6.根据权利要求5所述的方法,其特征在于,所述控制所述Virtio虚拟声卡后端将所述麦克风数据发送给所述Virtio虚拟声卡前端,包括:
控制所述Virtio虚拟声卡后端将所述麦克风数据存储在缓存中;
当检测到所述缓存中存储了完整的所述麦克风数据后,将完整的所述麦...

【专利技术属性】
技术研发人员:张志勇范志刚卢涛
申请(专利权)人:西安万像电子科技有限公司
类型:发明
国别省市:陕西;61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1