CN114172879A - 基于安卓系统远程桌面的音频播放重定向系统和方法 - Google Patents
基于安卓系统远程桌面的音频播放重定向系统和方法 Download PDFInfo
- Publication number
- CN114172879A CN114172879A CN202111359179.6A CN202111359179A CN114172879A CN 114172879 A CN114172879 A CN 114172879A CN 202111359179 A CN202111359179 A CN 202111359179A CN 114172879 A CN114172879 A CN 114172879A
- Authority
- CN
- China
- Prior art keywords
- audio
- module
- data
- android
- redirection
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/08—Protocols specially adapted for terminal emulation, e.g. Telnet
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明涉及计算机技术领域,具体涉及一种基于安卓系统远程桌面的音频播放重定向系统,包括安卓系统服务器端和系统客户端;安卓系统服务器端包括音频播放模块、音频重定向模块、第一数据处理模块和第一数据通信模块;音频播放模块用于产生音频数据;音频重定向模块用于重定向到第一数据处理模块;第一数据处理模块用于进行压缩和加密,并通过第一数据通信模块传输到系统客户端;系统客户端包括第二数据处理模块、第二数据通信模块和客户端音频播放模块;第二数据通信模块用于接收压缩和加密后的音频数据;第二数据处理模块用于进行解密解压;客户端音频播放模块用于播放音频数据。该系统基于安卓系统实现音频播放的重定向。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种基于安卓系统远程桌面的音频播放重定向系统和方法。
背景技术
传统的远程桌面都是基于windows,Linux,MacOS等PC桌面操作系统。不过随着智能移动终端和企业移动办公的快速普及,基于Android系统的远程桌面有了越来越多的市场需求,不仅提供给用户Android界面显示,还需要提供音频播放的重定向。音频是Android系统的一项非常重要的基础功能,音频播放的重定向是指将远程桌面服务器端Android系统中音频播放时产生的音频数据通过远程桌面服务端软件发送到远程桌面客户端上进行播放的过程。
现有比较成熟的远程桌面技术方案,例如Microsoft的RDP,Citrix的ICA和TeamViewer,这些技术方案中远程桌面服务端使用的基本都是Windows、Linux、MacOS等PC操作系统,其音频重定向的技术主要通过调用远程桌面服务端操作系统现有所提供的API接口实现,不适用于Android系统。
因此,有必要提供一种音频播放重定向系统,适用于安卓系统。
发明内容
解决的技术问题
针对现有技术所存在的上述缺点,本发明提供了一种基于安卓系统远程桌面的音频播放重定向系统和方法,基于安卓系统实现音频播放的重定向。
技术方案
为实现以上目的,本发明通过以下技术方案予以实现:
本发明提供一种基于安卓系统远程桌面的音频播放重定向系统,包括安卓系统服务器端和系统客户端;
所述安卓系统服务器端包括音频播放模块、音频重定向模块、第一数据处理模块和第一数据通信模块;
所述音频播放模块用于产生音频数据,并输出给所述音频重定向模块;所述音频重定向模块用于将所述音频数据重定向到所述第一数据处理模块;所述第一数据处理模块用于将所述音频数据进行压缩和加密,压缩和加密后的所述音频数据通过所述第一数据通信模块传输到所述系统客户端;
所述系统客户端包括第二数据处理模块、第二数据通信模块和客户端音频播放模块;
所述第二数据通信模块用于接收压缩和加密后的所述音频数据,并传递给所述第二数据处理模块;所述第二数据处理模块根据所述系统客户端的平台,调用相应的API接口对压缩和加密后的所述音频数据进行解密解压,得到所述音频数据;所述客户端音频播放模块用于播放所述音频数据。
进一步地,所述音频播放模块包括安卓应用层组件、安卓音频框架层组件和音频硬件抽象层组件,所述安卓应用层组件包括进行声音播放的安卓应用,所述安卓音频框架层组件基于安卓系统的Audio Finger服务对音频文件进行解码混音处理,得到所述音频数据,并将所述音频数据通过所述音频硬件抽象层组件传输给所述音频重定向模块。
进一步地,所述音频硬件抽象层组件通过Unix Socket通信将所述音频数据传输给所述音频重定向模块。
进一步地,所述安卓应用层组件包括进行多个声音播放的安卓应用。
进一步地,所述音频重定向模块用于将所述音频数据通过Pulse Audio服务重定向到所述第一数据处理模块。
进一步地,所述第一数据处理模块、所述第一数据通信模块、所述第二数据处理模块和所述第二数据通信模块均基于WebRTC。
基于同一发明构想,本发明还提供了一种基于安卓系统远程桌面的音频播放重定向方法,包括如下步骤:
S1、安卓系统服务器端的安卓应用层组件播放音频;
S2、所述安卓系统服务器端的安卓音频框架层组件处理所述安卓应用层组件播放的音频,生成音频数据;
S3、所述安卓系统服务器端的音频硬件抽象层组件接收所述音频数据,并传输给所述安卓系统服务器端的音频重定向模块;
S4、所述音频重定向模块将所述音频数据重定向到WebRTC服务器端程序;
S5、所述音频数据从所述WebRTC服务器端传输到WebRTC客户端;
S6、所述WebRTC客户端接收并处理所述音频数据,然后调用其上的音频系统播放所述音频数据。
进一步地,所述安卓音频框架层组件基于安卓系统的Audio Finger服务对音频文件进行解码混音处理,得到所述音频数据,并将所述音频数据通过所述音频硬件抽象层组件传输给所述音频重定向模块。
进一步地,所述音频硬件抽象层组件通过Unix Socket通信将所述音频数据传输给所述音频重定向模块。
有益效果
本发明将安卓系统及应用部署到服务器端,实现了多实例同时运行;并且,本发明重新虚拟化安卓音频硬件抽象层模块,并基于pulse audio服务和WebRTC协议实现音频播放的重定向功能,整个系统布置简便、延迟低、可移植性高,维护方便。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的基于安卓系统远程桌面的音频播放重定向系统中安卓系统服务器端示意图;
图2为本发明一实施例提供的基于安卓系统远程桌面的音频播放重定向系统中系统客户端示意图;
图3为本发明一实施例提供的基于安卓系统远程桌面的音频播放重定向方法流程示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
首先,对本发明提到的一些技术术语进行解释。
Pulse Audio:表示一个声音服务器,启动一个后台进程从一个或多个音源接受声音输入然后重定向声音到一个或多个槽,pulse audio的重要功能就是重定向所有声音流,pulse audio适用于linux、macos、windows系统,有各种模式来操作声音,其中模式null-sink的特点是不需要将传入的数据导入到某个声卡,而是直接丢弃。
WebRTC:即网页即时通信,是一个支持网页浏览器进行实时语音对话或视频对话的API,提供了视频会议的核心技术,包括音视频的采集、编解码、网络传输、显示等功能,并且还支持跨平台,webrtc提供了将pulseaudio作为音频输入的支持。
参阅图1和图2,本发明一实施例提供了一种基于安卓系统远程桌面的音频播放重定向系统,分为两部分,第一部分提供可以多个实例同时运行的安卓系统服务器端,如图1所示。所述安卓系统服务器端包括音频播放模块、音频重定向模块、第一数据处理模块和第一数据通信模块;所述音频播放模块用于产生音频数据,并输出给所述音频重定向模块;所述音频重定向模块用于将所述音频数据重定向到所述第一数据处理模块;所述第一数据处理模块用于将所述音频数据进行压缩和加密,压缩和加密后的所述音频数据通过所述第一数据通信模块传输到所述系统客户端。如图2所示,第二部分为音频播放重定向的系统客户端,所述系统客户端包括第二数据处理模块、第二数据通信模块和客户端音频播放模块;所述第二数据通信模块用于接收压缩和加密后的所述音频数据,并传递给所述第二数据处理模块;所述第二数据处理模块根据所述系统客户端的平台,调用相应的API接口对压缩和加密后的所述音频数据进行解密解压,得到所述音频数据;所述客户端音频播放模块用于播放所述音频数据。
在本实施例中,参阅图1,对于所述音频播放模块,其一般包括:安卓应用层组件、安卓音频框架层组件和音频硬件抽象层组件。所述安卓应用层组件包括进行声音播放的安卓应用。所述安卓音频框架层组件基于安卓系统的Audio Finger相关服务对音频文件进行解码混音处理,并将处理好的音频数据传送至所述音频硬件抽象层组件。所述音频数据通过所述音频硬件抽象层组件传输给所述音频重定向模块,并且,所述音频硬件抽象层组件一般通过Unix Socket通信将所述音频数据传输给所述音频重定向模块。
在本实施例中,所述音频重定向模块一般将所述音频数据通过Pulse Audio服务重定向到所述第一数据处理模块。Pulse Audio是一个跨平台的,可通过网络工作的声音服务,并且可以用来作为一种简易改进的开放声音后台替换。
在本实施例中,所述第一数据处理模块、所述第一数据通信模块、所述第二数据处理模块和所述第二数据通信模块一般均基于WebRTC。webrtc提供了将pulse audio作为音频输入的支持。
基于同一发明构想,参阅图3,本发明还提供了一种基于安卓系统远程桌面的音频播放重定向方法,包括如下步骤:
S1、安卓系统服务器端的安卓应用层组件播放音频;
S2、所述安卓系统服务器端的安卓音频框架层组件处理所述安卓应用层组件播放的音频,生成音频数据;
S3、所述安卓系统服务器端的音频硬件抽象层组件接收所述音频数据,并传输给所述安卓系统服务器端的音频重定向模块;
S4、所述音频重定向模块将所述音频数据重定向到WebRTC服务器端程序;
S5、所述音频数据从所述WebRTC服务器端传输到WebRTC客户端;
S6、所述WebRTC客户端接收并处理所述音频数据,然后调用其上的音频系统播放所述音频数据。
在本实施例中,对于步骤S1,安卓应用层组件即服务器端某个安卓实例中播放音频文件的应用,是整个系统声音的根本来源。
在本实施例中,对于步骤S2和步骤S3,音频框架层模块是安卓多媒体系统中的音频部分,音频播放时负责对音频数据的解码和混音处理,并将处理好的音频播放数据传送至音频硬件抽象层模块。
在本实施例中,对于步骤S4,音频硬件抽象层模块将收到的音频数据通过一个socket传送到音频重定向模块,音频重定向模块是将接收到的音频数据通过宿主的pulseaudio服务的module-null-sink模块重定向到webrtc服务器端。
在本实施例中,对于步骤S5,webrtc数据处理模块是webrtc根据客户端的要求,对数据进行加密压缩处理。webrtc数据通信模块是webrtc根据自身的协议,通过网络将数据从远程服务器端传输到本地客户端。
对于步骤S6,webrtc数据通信模块是webrtc根据自身的协议,接收服务器端通过网络传输过来的音频数据。webrtc数据处理模块是webrtc根据客户端平台的不同,对数据进行解密解压缩处理。如果是Android平台则使用Android的音频系统进行解压缩,如果是linux平台,则使用linux系统的api接口进行解压缩。客户端音频数据播放模块是webrtc根据客户端的平台,调用其声卡进行音频数据播放,完成整个重定向系统。
本发明的优点在于将安卓系统及应用部署到服务器端的docker容器里,实现了多实例同时运行;并且,本发明重新虚拟化安卓音频硬件抽象层模块,并基于pulseaudio服务和WebRTC协议实现音频播放的重定向功能,整个系统布置简便、延迟低、可移植性高,维护方便。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不会使相应技术方案的本质脱离本发明各实施例技术方案的保护范围。
Claims (9)
1.一种基于安卓系统远程桌面的音频播放重定向系统,其特征在于,包括安卓系统服务器端和系统客户端;
所述安卓系统服务器端包括音频播放模块、音频重定向模块、第一数据处理模块和第一数据通信模块;
所述音频播放模块用于产生音频数据,并输出给所述音频重定向模块;所述音频重定向模块用于将所述音频数据重定向到所述第一数据处理模块;所述第一数据处理模块用于将所述音频数据进行压缩和加密,压缩和加密后的所述音频数据通过所述第一数据通信模块传输到所述系统客户端;
所述系统客户端包括第二数据处理模块、第二数据通信模块和客户端音频播放模块;
所述第二数据通信模块用于接收压缩和加密后的所述音频数据,并传递给所述第二数据处理模块;所述第二数据处理模块根据所述系统客户端的平台,调用相应的API接口对压缩和加密后的所述音频数据进行解密解压,得到所述音频数据;所述客户端音频播放模块用于播放所述音频数据。
2.根据权利要求1所述的基于安卓系统远程桌面的音频播放重定向系统,其特征在于,所述音频播放模块包括安卓应用层组件、安卓音频框架层组件和音频硬件抽象层组件,所述安卓应用层组件包括进行声音播放的安卓应用,所述安卓音频框架层组件基于安卓系统的Audio Finger服务对音频文件进行解码混音处理,得到所述音频数据,并将所述音频数据通过所述音频硬件抽象层组件传输给所述音频重定向模块。
3.根据权利要求2所述的基于安卓系统远程桌面的音频播放重定向系统,其特征在于,所述音频硬件抽象层组件通过Unix Socket通信将所述音频数据传输给所述音频重定向模块。
4.根据权利要求2所述的基于安卓系统远程桌面的音频播放重定向系统,其特征在于,所述安卓应用层组件包括进行多个声音播放的安卓应用。
5.根据权利要求1所述的基于安卓系统远程桌面的音频播放重定向系统,其特征在于,所述音频重定向模块用于将所述音频数据通过Pulse Audio服务重定向到所述第一数据处理模块。
6.根据权利要求1-5任一项所述的基于安卓系统远程桌面的音频播放重定向系统,其特征在于,所述第一数据处理模块、所述第一数据通信模块、所述第二数据处理模块和所述第二数据通信模块均基于WebRTC。
7.一种基于安卓系统远程桌面的音频播放重定向方法,其特征在于,包括如下步骤:
S1、安卓系统服务器端的安卓应用层组件播放音频;
S2、所述安卓系统服务器端的安卓音频框架层组件处理所述安卓应用层组件播放的音频,生成音频数据;
S3、所述安卓系统服务器端的音频硬件抽象层组件接收所述音频数据,并传输给所述安卓系统服务器端的音频重定向模块;
S4、所述音频重定向模块将所述音频数据重定向到WebRTC服务器端程序;
S5、所述音频数据从所述WebRTC服务器端传输到WebRTC客户端;
S6、所述WebRTC客户端接收并处理所述音频数据,然后调用其上的音频系统播放所述音频数据。
8.根据权利要求7所述的基于安卓系统远程桌面的音频播放重定向方法,其特征在于,所述安卓音频框架层组件基于安卓系统的Audio Finger服务对音频文件进行解码混音处理,得到所述音频数据,并将所述音频数据通过所述音频硬件抽象层组件传输给所述音频重定向模块。
9.根据权利要求7所述的基于安卓系统远程桌面的音频播放重定向方法,其特征在于,所述音频硬件抽象层组件通过Unix Socket通信将所述音频数据传输给所述音频重定向模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111359179.6A CN114172879A (zh) | 2021-11-17 | 2021-11-17 | 基于安卓系统远程桌面的音频播放重定向系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111359179.6A CN114172879A (zh) | 2021-11-17 | 2021-11-17 | 基于安卓系统远程桌面的音频播放重定向系统和方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114172879A true CN114172879A (zh) | 2022-03-11 |
Family
ID=80479285
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111359179.6A Pending CN114172879A (zh) | 2021-11-17 | 2021-11-17 | 基于安卓系统远程桌面的音频播放重定向系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114172879A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106873932A (zh) * | 2017-02-17 | 2017-06-20 | 浙江大学 | 一种Android系统服务端、远程桌面图像重定向方法及系统 |
CN106961421A (zh) * | 2017-02-17 | 2017-07-18 | 浙江大学 | 一种Android系统服务端、远程桌面音频重定向方法及系统 |
US20180278707A1 (en) * | 2017-03-21 | 2018-09-27 | Elite Silicon Technology Inc. | Client terminal of audio device redirection system and audio device redirection method |
CN112511585A (zh) * | 2020-10-16 | 2021-03-16 | 麒麟软件有限公司 | 一种基于安卓系统远程桌面的输入重定向方法及系统 |
-
2021
- 2021-11-17 CN CN202111359179.6A patent/CN114172879A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106873932A (zh) * | 2017-02-17 | 2017-06-20 | 浙江大学 | 一种Android系统服务端、远程桌面图像重定向方法及系统 |
CN106961421A (zh) * | 2017-02-17 | 2017-07-18 | 浙江大学 | 一种Android系统服务端、远程桌面音频重定向方法及系统 |
US20180278707A1 (en) * | 2017-03-21 | 2018-09-27 | Elite Silicon Technology Inc. | Client terminal of audio device redirection system and audio device redirection method |
CN112511585A (zh) * | 2020-10-16 | 2021-03-16 | 麒麟软件有限公司 | 一种基于安卓系统远程桌面的输入重定向方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11336953B2 (en) | Video processing method, electronic device, and computer-readable medium | |
US9407613B2 (en) | Media acceleration for virtual computing services | |
CN101582926B (zh) | 实现远程媒体播放重定向的方法和系统 | |
JP4257967B2 (ja) | ユニバーサルなステートレスのデジタルおよびコンピュータ・サービスを提供するためのシステムと方法 | |
TWI440346B (zh) | 基於開放架構之域相依即時多語系通信服務 | |
US6714826B1 (en) | Facility for simultaneously outputting both a mixed digital audio signal and an unmixed digital audio signal multiple concurrently received streams of digital audio data | |
US20040179554A1 (en) | Method and system of implementing real-time video-audio interaction by data synchronization | |
CN102695094B (zh) | Vdi环境下软硬件一体化音视频重定向的方法 | |
EP0817045A2 (en) | Mixing and splitting multiple independent audio data streams in kernel space | |
CN108108139B (zh) | 一种云会议的投屏接入方法 | |
CN108932948B (zh) | 音频数据处理方法、装置、计算机设备和计算机可读存储介质 | |
CN103179431A (zh) | Vdi环境下音视频重定向转码分离方法 | |
US8719437B1 (en) | Enabling streaming to a media player without native streaming support | |
US20230005487A1 (en) | Autocorrection of pronunciations of keywords in audio/videoconferences | |
CN100574414C (zh) | 一种手机通过蓝牙向电脑传输视频图像的方法 | |
WO2022110943A1 (zh) | 语音预览的方法及装置 | |
CN102055683A (zh) | 一种分享音乐数据的方法、装置和系统 | |
CN103139202A (zh) | 瘦客户机及其通信方法和装置 | |
CN113938470A (zh) | 一种浏览器播放rtsp数据源的方法、装置以及流媒体服务器 | |
US10917477B2 (en) | Method and apparatus for MMT integration in CDN | |
CN112399257B (zh) | 云桌面视频播放方法、服务器、终端及存储介质 | |
US10834164B2 (en) | Virtualizing audio and video devices using synchronous A/V streaming | |
EP1162806A2 (en) | Simultaneous viewing and/or listening to a plurality of transmitted multimedia streams through a centralized processing space | |
CN113037751A (zh) | 创建音视频接收流的方法及系统 | |
CN114172879A (zh) | 基于安卓系统远程桌面的音频播放重定向系统和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |