CN102148842B - 一种远程桌面体系的音频处理方法和设备 - Google Patents
一种远程桌面体系的音频处理方法和设备 Download PDFInfo
- Publication number
- CN102148842B CN102148842B CN201010109444.0A CN201010109444A CN102148842B CN 102148842 B CN102148842 B CN 102148842B CN 201010109444 A CN201010109444 A CN 201010109444A CN 102148842 B CN102148842 B CN 102148842B
- Authority
- CN
- China
- Prior art keywords
- audio
- client
- device object
- order
- voice data
- 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.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 12
- 238000000034 method Methods 0.000 claims abstract description 41
- 230000005540 biological transmission Effects 0.000 claims abstract description 35
- 238000012545 processing Methods 0.000 claims abstract description 9
- 230000000977 initiatory effect Effects 0.000 abstract 1
- 230000003068 static effect Effects 0.000 description 10
- 230000003139 buffering effect Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 241001269238 Data Species 0.000 description 3
- 230000009977 dual effect Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04H—BROADCAST COMMUNICATION
- H04H20/00—Arrangements for broadcast or for distribution combined with broadcast
- H04H20/86—Arrangements characterised by the broadcast information itself
- H04H20/95—Arrangements characterised by the broadcast information itself characterised by a specific format, e.g. an encoded audio stream
-
- 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/60—Network streaming of media packets
- H04L65/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
-
- 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/60—Network streaming of media packets
- H04L65/70—Media network packetisation
-
- 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/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/762—Media network packet handling at the source
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/233—Processing of audio elementary streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/439—Processing of audio elementary streams
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Telephonic Communication Services (AREA)
- Reverberation, Karaoke And Other Acoustics (AREA)
Abstract
本发明实施例公开了一种远程桌面体系的音频处理方法和设备。其中,所述方法包括:接收到服务器端操作系统的音频发送请求时,向客户端发起连接,建立专用通道;接收音频数据,并通过所述专用通道向客户端发送音频数据。本发明实施例所提供的方案,在接收到系统的音频发送请求后,向客户端发起连接,建立一条发送音频数据的专用通道并通过这个专用通道向客户端发送音频数据。
Description
技术领域
本发明涉及计算机及通信技术领域,尤其涉及一种远程桌面体系的音频处理方法和设备。
背景技术
远程桌面体系(RDP,Remote Desktop Protocol)主要包括客户端和服务器端,现有的很多系统,例如windows xp系统,都同时包括客户端和服务器端,也就是说一台windows xp系统的电脑,既可以当成客户端来连到别的装了Windows xp的电脑,并对其进行控制,也可以做服务器端,被别的电脑控制。
通过远程桌面管理,可以连接到远程电脑的桌面,操作远程的电脑实现多种操作,例如收发邮件、看电影、听音乐,进行用户管理等等,就像对本地的电脑进行操作一样。
发明人通过对现有技术的研究发现,目前的系统所提供的音频驱动对音频数据的处理流程非常复杂,一般存在很大的输出延时,某些系统的输出延迟甚至达到1秒,延迟时间过长,应用了用户的使用,例如,当用户通过RDP观看电影时,出现声音与画面严重不同步,影响观看。
发明内容
有鉴于此,本发明实施例的目的在于提供一种远程桌面体系的音频处理方法和设备,简化服务器对音频数据的处理流程,减少音频数据的延迟。
为实现上述目的,本发明实施例提供了如下技术方案:
一种远程桌面体系的音频处理方法,包括:
接收到服务器端操作系统的音频发送请求时,向客户端发起连接,建立第一通道;
接收音频数据,并通过所述第一通道向客户端发送音频数据。
接收到服务器端操作系统的音频发送请求时,建立第一通道具体为:
形成音频播放设备对象创建命令;
根据所述音频播放设备对象创建命令在服务器端创建第一音频播放设备对象;
根据所述第一音频播放设备对象在服务器端与客户端之间建立第一通道。
通过所述第一通道向客户端发送音频数据具体为:
通过所述第一通道向客户端发送音频播放设备对象创建命令;
根据所述音频播放设备对象创建命令在客户端创建第二音频播放设备对象;
通过服务器端的第一音频播放设备对象将音频数据从服务器端经第一通道发送至客户端的第二音频播放设备对象。
该方法还包括:
统计音频数据发送参数,并将所述数据发送参数反馈给系统,以使系统根据所述音频数据发送参数对所述音频数据的发送进行控制。
一种远程桌面体系的音频处理方法,包括:
接收到服务器端操作系统的音频接收命令时,向客户端发起连接,建立第二通道;
通过所述第二通道接收客户端发送的音频数据。
接收到服务器端操作系统的音频接收命令时,向客户端发起连接,建立第二通道具体为:
形成音频接收设备对象创建命令;
根据所述音频接收设备对象创建命令在服务器端创建第一音频接收设备对象;
根据所述第一音频接收设备对象在服务器端与客户端之间建立第二通道。
通过所述第二通道接收客户端发送的音频数据具体为:
通过所述第二通道向客户端发送音频接收设备对象创建命令;
根据所述音频接收设备对象创建命令在客户端创建第二音频接收设备对象;
通过客户端的第二音频接收设备对象接收音频数据,并将接收的音频数据通过第二通道发送至服务器端的第一音频接收设备对象。
该方法还包括:
接收音频接收终止命令时,通知所述客户端停止音频数据的发送,并断开所述第二通道。
一种远程桌面体系的音频处理设备,包括:
第一连接单元,用于接收到服务器端操作系统的音频发送请求时,向客户端发起连接,建立第一通道;
发送单元,用于接收音频数据,并通过所述第一通道向客户端发送音频数据。
所述第一连接单元包括:
第一命令创建子单元,用于接收到服务器端操作系统的音频发送请求时,形成音频播放设备对象创建命令;
第一对象创建子单元,用于根据所述音频播放设备对象创建命令在服务器端创建第一音频播放设备对象;
第一连接子单元,用于根据所述第一音频播放设备对象在服务器端与客户端之间建立第一通道。
所述发送单元包括:
第一命令发送子单元,用于通过所述第一通道向客户端发送音频播放设备对象创建命令;
第二对象创建子单元,用于根据所述音频播放设备对象创建命令在客户端创建第二音频播放设备对象;
发送子单元,用于通过服务器端的第一音频播放设备对象将音频数据从服务器端经第一通道发送至客户端的第二音频播放设备对象。
该设备还包括:
第一控制单元,用于统计音频数据发送参数,并将所述数据发送参数反馈给系统,以使系统根据所述音频数据发送参数对所述音频数据的发送进行控制。
一种远程桌面体系的音频处理设备,包括:
第二连接单元,用于接收到服务器端操作系统的音频接收命令时,向客户端发起连接,建立第二通道;
接收单元,用于通过所述第二通道接收客户端发送的音频数据。
所述第二连接单元包括:
第二命令创建子单元,用于接收到服务器端操作系统的音频接收命令时,形成音频接收设备对象创建命令;
第三对象创造子单元,用于根据所述音频接收设备对象创建命令在服务器端创建第一音频接收设备对象;
第二连接子单元,用于根据所述第一音频接收设备对象在服务器端与客户端之间建立第二通道。
所述接收单元包括:
第二命令发送单元,用于通过所述第二通道向客户端发送音频接收设备对象创建命令;
第四对象创建子单元,用于根据所述音频接收设备对象创建命令在客户端创建第二音频接收设备对象;
接收子单元,通过客户端的第二音频接收设备对象接收音频数据,并将接收的音频数据通过第二通道发送至服务器端的第一音频接收设备对象。
该设备还包括:
第二控制单元,用于接收到音频接收终止命令时,通知所述客户端停止音频数据的发送,并断开所述第二通道。
可见,在本发明实施例中,接收到服务器端操作系统的音频发送请求时,向客户端发起连接,建立第一通道;接收音频数据,并通过所述第一通道向客户端发送音频数据。本发明实施例所提供的方案,在接收到系统的音频发送请求后,向客户端发起连接,建立一条发送音频数据的专用通道——第一通道,并通过该第一通道向客户端发送音频数据。
附图说明
图1本发明一实施例所提供的方法的流程图;
图2为本发明一实施例所提供场景示意图;
图3为本发明又一实施例所提供的方法的流程图;
图4为本发明另一实施例所提供的方法的流程图;
图5为本发明又一实施例所提供的方法的流程图;
图6为本发明一实施例所提供的装置的结构示意图;
图7为本发明一实施例所提供的装置中一单元的结构示意图;
图8为本发明一实施例所提供的装置中另一单元的结构示意图;
图9为本发明另一实施例所提供的装置的结构示意图;
图10为本发明另一实施例所提供的装置中一单元的结构示意图;
图11为本发明另一实施例所提供的装置中另一单元的结构示意图。
具体实施方式
本发明实施例公开了一种远程桌面体系的音频处理方法和设备,为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明作进一步详细说明。
参见图1,本发明一实施例提供一种远程桌面体系的音频处理方法,包括:
S101、接收到系统的音频发送请求时向客户端发起连接,建立第一通道;
该音频发送请求可以是系统主动发送的,也可以是系统应客户端的请求发送的。例如,系统主动向与其连接的一客户端播放一种背景音乐,此时就是系统主动发起该音频发送请求。或者,一用户希望通过与远程桌面体系连接的一客户端收听一首歌曲,那么此时,该系统的音频发送请求就是应客户端的请求发送的。
S102、接收音频数据,并通过所述第一通道向客户端发送音频数据。
本发明实施例所提供的方法,在接收到系统的音频发送请求后,向客户端发起连接,建立一条发送音频数据的专用通道——第一通道,并通过该第一通道向客户端发送音频数据。
图2为本发明实施例所应用的远程桌面体系的一个具体应用场景,其中,远程桌面体系包括服务器201以及多个客户端202。服务器和客户端通过网络进行连接。服务器通过远程桌面体系为各个客户端提供服务。本发明实施例中,该服务器可以通过远程桌面体系为客户端提供远程音频播放服务。参见图3,该场景中,本发明实施例所提供的方法包括:
S301、一客户端向服务器发送音频播放请求,请求播放名称为A,格式为mp3的一首歌曲。
所述客户端通过客户端与服务器端原有的静态通道进行命令的传输。
S302、服务器接收到该音频播放请求后,形成音频播放设备对象创建命令,在服务器端创建第一音频播放设备对象。
S303、服务器端将mp3与该第一音频播放设备对象所能够播放的格式进行对比,通过比较判定该音频播放设备能否播放mp3格式的音乐,如果能够播放,则进入步骤S304,否则向客户端反馈,无法播放所要求的格式的音频文件。
服务器端的操作系统检查第一音频播放设备对象所支持的声道和频率能力(例如双声道,44.1kHz频率),操作系统对播放器软件提供的音频流做转换,转换为第一音频播放设备对象所支持的声道和频率之一的音频流。例如操作系统将mp3播放器要求声道和频率能力与第一音频播放设备对象所能够提供的声道和频率能力进行对比,并根据自身转换能力,通过比较判定第一音频播放设备对象能否播放此mp3格式的音乐,如果能够播放,则进入步骤S304,否则向客户端反馈,无法播放所要求的格式的音频文件。
本发明实施例所提供的方法对该音频播放设备能够播放的具体的音频文件的格式不做限定。
S304、向客户端发起连接,根据所述第一音频播放设备对象在服务器端与客户端之间建立第一通道。
该音频发送通道即本发明实施例所提供的方法中为音频数据的发送建立的专用通道。实际应用中,服务器可以通过TCP协议或者UDP协议等网络通信协议向客户端发起连接,建立所述音频发送通道。
TCP是面向连接的协议,UDP是面向非连接的协议,对于UDP协议来说,该连接就是经过三次握手协议后再传输数据,而且每次传输一个数据包后都需要对端返回确认信息。
无论是TCP、UDP都需要依靠服务器和客户端通过两端的IP地址和端口号形成一个抽象的通道来传输数据,也就是每个数据包包头都有所谓的标签信息。这样服务器和客户端这两端才能区分数据包的目的地址和源地址。
S305、通过所述第一通道向客户端发送音频播放设备对象创建命令,并根据所述音频播放设备对象创建命令在客户端创建第二音频播放设备对象。
本发明实施例所提供的方法中,根据音频播放设备对象创建命令,可以在服务器端创建第一音频播放设备对象在和客户端创建第二音频播放设备对象。因为第一音频播放设备对象和第二音频播放设备对象是根据同一个音频播放设备对象创建命令创建的,所以第一音频播放设备对象与第二音频播放设备对象之间存在映射关系,服务器的操作系统对第一音频播放设备对象操作,就相当于对位于客户端的第二音频播放设备对象进行操作。
S306、通知客户端打开客户端的音频播放设备并设置其播放格式。
所述客户端的音频播放设备是客户端的第二音频播放设备对象的真实物理设备,可以是声卡和喇叭。
本发明实施例中,利用建立的音频发送通道在服务器端和客户端之间传递命令,同时还用于传递服务器端与客户端之间的音频数据;为了对音频通道命令与音频数据进行音频发送通道中传送的数据包进行区分,可以通过一些信息对数据包进行区分。例如,可以给数据包的包头定义不同的类型,用不同的数据包头的类型来区分不同的数据包。
本发明实施例中,通知客户端打开音频播放设备的所使用的数据包的包头标记type A,表示打开音频设备,并指明设备类型是audio out(音频输出)。客户端通过包头标记区分出是打开音频播放设备的通知。客户端请求播放mp3格式的音频文件,所以设置该音频播放设备的音频播放格式为mp3。
S307、通过音频发送通道向客户端发送名称为A,格式为mp3的音频数据。
具体地,服务器端将音频数据发送至第一音频播放设备对象,该第一音频播放设备对象将音频数据通过音频发送通道发送至第二音频播放设备对象。
S308、统计音频数据发送参数,并将所述数据发送参数反馈给系统,以使系统根据所述音频数据发送参数对所述音频数据的发送进行控制。
本发明实施例中的音频数据发送参数包括已经通过所述音频发送通道发送的音频数据和待发送的音频数据。通过发送参数,系统可以对音频数据的发送进行监控,当音频数据发送完毕后,系统可以关闭服务器的音频播放设备,进一步地,当音频数据发送完毕后,系统还可以断开所述音频发送通道。例如,当服务器与客户端是通过TCP协议建立的该音频发送通道,则系统还需要关闭socket连接。
本发明实施例中,音频数据和音频相关的命令都通过该音频发送通道进行发送。具体方式可以是,向客户端发送关闭音频播放设备的数据包,该数据包实际上为一个音频相关的命令,可以通过包头标记来标识,例如将包头标记记为type B,表示关闭音频设备,并指明设备类型是audio out。客户端通过包头标记区分出是关闭音频播放设备的通知。
实际应用中,很多待发送至客户端的音频数据是经过混音后的音频数据(例如server2008中的audiodg.exe服务传进的音频数据),本发明实施例所提供的方法在接收到这些音频数据的发送请求时,直接把该数据通过以上实施例中所创建的音频数据专用通道——音频发送通道将音频数据发送至客户端,发送之前,在服务器端不需要做任何数据缓冲。本发明实施例所提供的方法,在通过音频发送通道发送音频数据时,根据音频数据长度等信息更新统计变量。本发明实施例所提供的方法,可以通过音频数据的数据包的包头信息通知客户端,其所接收的是音频数据包,例如,将包头标记为type C的数据包定义为音频数据包,并指明设备类型是audio out。这样,客户端仅通过数据包的包头信息就可以确定其接收的是音频播放数据。
客户端通过网络接收该音频数据后可以进行缓冲,缓存时间可以是100~200ms,并通过客户端本地的音频设备播放。
对于未做混音的音频数据(例如server2003中传给dll的音频数据),发明实施例所提供的方法可以在通过音频发送通道发送音频数据之前,首先将多路的音频数据进行混音(例如,同一用户打开多个播放器同时播放时会有多路音频数据情况出现),对合成的音频数据通过音频发送通道发送到客户端,此时,服务器端可以不做任何数据缓冲,并根据音频数据长度等信息更新统计变量。可以通过音频数据的数据包的包头信息通知客户端,其所接收的是音频数据包,具体地,可以将包头标记为type C并指明设备类型是audio out。这样,客户端仅通过数据包的包头信息就可以确定其接收的是音频播放数据。
同样,客户端通过网络接收该音频数据后可以进行缓冲,缓存时间可以是100~200ms,并通过客户端本地的音频设备播放。
在本发明的其他实施例中,服务器端与客户端之间音频相关的命令传输也可以利用远程桌面体系中现有的静态通道来实现。例如,客户端通过服务器端与客户端之间原有的静态通道向服务器端发送音频播放请求。服务器端收到该音频播放请求后,形成音频播放设备对象创建命令,同时可以通过原有的静态通道将该音频播放设备对象创建命令发送至客户端,这样,服务器端和客户端可以根据该音频播放设备对象创建命令分别创建第一音频播放设备对象和第二音频播放设备对象。然后,在所述第一音频播放设备对象和所述第二音频播放设备对象之间建立第一通道。
上述过程中,当第一通道建立之后,可以参照步骤S306至步骤S308从服务器端向客户端发送音频数据。
本发明实施例中,通过远程桌面体系中原有的静态通道传输服务器与客户端之间的命令,该第一通道创建后,可以专门用于音频数据的发送,这样命令包和数据包通过不同通道进行传输,此时命令包和数据包不需要包头的类型标记。
现有的音频播放方法,例如Windows系统原来的audio out中server端对音频数据进行了数据缓冲,并且经过了复杂的封装后,写道share memory中,然后通过事件(每隔0.4秒左右通知一次)通知RDP服务进程rdpclip.exe,并由RDP服务进程通过RDP sound static channel把数据加密后,再发送给客户端,客户端对接收的音频数据,进行解密,缓冲200ms后再播放,所以音频延时较大。本发明实施例所提供的方法,为音频数据的播放建立了一条专用的通道——第一通道(具体实施例中为音频播放通道),因为有了专用的音频播放通道,所以避免了音频数据发送过程中在服务器端的缓冲过程,从很大程度上避免了延迟的产生。
此外,本发明实施例所提供的方法不受服务器和客户端各自的具体的系统的限制,实现方便,具有广泛的适用性和实用性。
参见图4,本发明实施例还提供另一种远程桌面体系的音频处理方法,包括:
S401、接收音频接收命令,并向客户端发起连接,建立第二通道;
该音频接收请求可以是系统主动发出的,也可以是系统应客户端的请求发送的。例如,系统要求一客户端的用户录入一段语音,那么此时,该音频接收请求就是系统主动发送的;或者,一用户希望通过与远程桌面体系连接的一客户端录制一首自己演唱的歌曲,那么此时,该系统的音频发送请求就是应客户端的请求发送的。
S402、通过所述第二通道接收客户端发送的音频数据。
本发明实施例所提供的方法,在接收到系统的音频接收请求后,向客户端发起连接,建立一条接收音频数据的专用通道——第二通道,并通过该第二通道接收客户端发送音频数据。
仍然以图2的应用场景为例,例如,在该场景中,一客户端的用户需要通过服务器201来录制一首mp3格式的歌曲,参见图5,本发明实施例所提供的方法包括:
S501、一客户端向服务器发送音频录制请求,请求录制一首名称为B,格式为mp3的歌曲。
S502、服务器接收到该音频录制请求后,形成音频接收设备对象创建命令,在服务器端创建第一音频接收设备对象。
S503、将mp3与该第一音频接收设备对象所能够接收的格式进行对比,通过比较判定该音频接收设备能否接收mp3格式的音频数据,如果能够接收,则进入步骤S504,否则向客户端反馈,无法接收所要求的格式的音频文件。本发明实施例所提供的方法对该音频接收设备能够接收的具体的音频文件的格式不做限定。
服务器端的操作系统检查第一音频接收设备对象所支持的声道和频率能力(例如双声道,44.1kHz频率),操作系统对第一音频接收设备提供的音频流做转换,转换为录音软件所支持的声道和频率的音频流。例如操作系统将mp3录音软件要求声道和频率能力与第一音频接收设备所能够提供的声道和频率能力进行对比,并根据自身转换能力,通过比较判定第一音频接收设备能否录制成此mp3格式的音乐,如果能够录制,则进入步骤S504,否则向客户端反馈,无法录制所要求的格式的音频文件。本发明实施例所提供的方法对该音频接收设备能够录制的具体的音频文件的格式不做限定。
S504、向客户端发起连接,根据所述第一音频接收设备对象在服务器端与客户端之间建立第二通道。
该音频接收通道即本发明实施例所提供的方法为音频数据的接收建立的专用通道。实际应用中,服务器可以通过TCP协议或者UDP协议等网络通信协议向客户端发起连接,建立所述音频接收通道。建立该音频接收通道的过程与建立音频发送通道的过程类似,此处不再赘述。
S505、通过所述第二通道向客户端发送音频接收设备对象创建命令,并根据该命令在客户端创建第二音频接收设备对象。
第一音频接收设备对象与第二音频接收设备对象都是根据音频接收设备对象创建命令创建的,两者具有映射关系,与第一音频播放设备对象和第二音频播放设备对象之间的关系类似,此处不再赘述。
S506、通知客户端打开客户端的音频接收设备并设置其接收的音频数据的格式。
本发明实施例中,客户端的音频接收设备是客户端的第二音频接收设备对象的真实物理对象,可以是声卡和麦克风。
本发明实施例中,音频数据和音频相关的命令都通过该音频接收通道进行发送。通知客户端打开音频接收设备的所使用的数据包的包头标记type A表示本数据包传递的是音频相关命令,具体表示打开音频设备,并指明设备类型是audio in(音频输入)。客户端通过包头标记区分出是打开音频接收设备的通知。客户端请求录制mp3格式的音频文件,所以设置该音频接收设备的音频接收格式为mp3。
S507、通过音频接收通道接收客户端发送名称为A,格式为mp3的音频数据。
S508、统计音频数据接收参数,并将所述数据发送参数反馈给系统,以使系统根据所述音频数据发送参数对所述音频数据的发送进行控制。
本发明实施例中的音频数据接收参数包括音量、声道数、音频频率、音频数据长度等等。通过接收参数,系统可以对音频数据的发送进行监控。
进一步地,当音频数据接收完毕后,系统还可以断开所述音频接收通道。例如,服务器与客户端是通过TCP协议建立的该音频接收通道,则系统还需要关闭socket连接。具体方式可以是,向客户端发送关闭音频播放设备的数据包,该数据包的包头标记为type B,表示关闭音频设备,并指明设备类型是audioin。客户端通过包头标记区分出是关闭音频播放设备的通知。
当专用通道被同时用来发送音频数据和音频相关命令时,可以根据实际情况设置不同的标识来对两种数据进行区分,本发明对具体的区分标识不做限定。
实际应用中,当客户端端通过本地录音设备进行录音,所录制的音频数据无需经过任何缓存即可通过音频接收通道发送到服务器端。服务器端通过音频数据包的包头信息区分所接收的数据是需要被录制的音频数据的。具体地,该音频数据包所使用包头标记为type C并指明设备类型是audio in。
服务器端接收到录音数据后,去掉包头标记,并通知系统有数据到达,系统通过调用本地的音频录制设备实现远程录音。
本发明实施例所提供的方法还可以根据音频数据长度等信息更新统计变量。例如,统计出的统计变量值,返回给系统。对于配置音量等信息,则修改相应的状态变量值,并通过上面所说的专用通道通知到客户端更新录音配置。通知客户端所接收的是配置包所使用包头标记为type D并指明设备类型是audio in。
如前所述,服务器端与客户端之间音频相关的命令传输也可以利用远程桌面体系中现有的静态通道来实现。例如,客户端可以通过服务器端与客户端之间原有的静态通道向服务器端发送音频录制请求。服务器端收到该音频录制请求后,形成音频接收设备对象创建命令,同时可以通过原有的静态通道将该音频接收设备对象创建命令发送至客户端,这样,服务器端和客户端可以根据该音频播放设备对象创建命令分别创建第一音频接收设备对象和第二音频接收设备对象。然后,在所述第一音频接收设备对象和所述第二音频接收设备对象之间建立第二通道。
上述过程中,当第二通道建立之后,可以参照步骤S506至步骤S508接收客户端发送音频数据。
本发明实施例中,通过远程桌面体系中原有的静态通道传输服务器与客户端之间的命令,该第二通道创建后,可以专门用于音频数据的接收,这样命令包和数据包通过不同通道进行传输,此时命令包和数据包不需要包头的类型标记。
本发明实施例所提供的方法建立了专用的音频接收通道,客户端无需对音频数据进行任何缓存即可通过该专用通道向服务器端发送待录制的音频数据。
此外,本发明实施例所提供的方法不受服务器端和客户端所应用的具体的系统的限制,实现方便,具有广泛的适用性和实用性。
参见图6,本发明一实施例还提供一种远程桌面体系的音频处理设备,该设备位于服务器端,包括:
第一连接单元601,用于接收到服务器端操作系统的音频发送请求时,向客户端发起连接,建立第一通道;
发送单元602,用于接收音频数据,并通过所述第一通道向客户端发送音频数据。
参见图7,所述第一连接单元601包括:
第一命令创建子单元701,用于接收到服务器端操作系统的音频发送请求时,形成音频播放设备对象创建命令;
第一对象创建子单元702,用于根据所述音频播放设备对象创建命令在服务器端创建第一音频播放设备对象;
第一连接子单元703,用于根据所述第一音频播放设备对象在服务器端与客户端之间建立第一通道。
参见图8,所述发送单元602包括:
第一命令发送子单元801,用于通过所述第一通道向客户端发送音频播放设备对象创建命令;
第二对象创建子单元802,用于根据所述音频播放设备对象创建命令在客户端创建第二音频播放设备对象;
发送子单元803,用于通过服务器端的第一音频播放设备对象将音频数据从服务器端经第一通道发送至客户端的第二音频播放设备对象。
本发明另一实施例中,图6所示的装置还包括:
第一控制单元603,用于统计音频数据发送参数,并将所述数据发送参数反馈给系统,以使系统根据所述音频数据发送参数对所述音频数据的发送进行控制。
本发明实施例所提供的设备,为音频数据的播放建立了一条专用的通道——第一通道(具体实施例中为音频播放通道),因为有了专用的音频播放通道,所以避免了音频数据发送过程中在服务器端的缓冲过程,从很大程度上避免了延迟的产生。
此外,本发明实施例所提供的方法不受服务器和客户端各自的具体的系统的限制,实现方便,具有广泛的适用性和实用性。
参见图9,本发明一实施例还提供一种远程桌面体系的音频处理设备,包括:
第二连接单元901,用于接收到服务器端操作系统的音频接收命令时,向客户端发起连接,建立第二通道;
接收单元902,用于通过所述第二通道接收客户端发送的音频数据。
参见图10,所述第二连接单元901包括:
第二命令创建子单元1001,用于接收到服务器端操作系统的音频接收命令时,形成音频接收设备对象创建命令;
第三对象创造子单元1002,用于根据所述音频接收设备对象创建命令在服务器端创建第一音频接收设备对象;
第二连接子单元1003,用于根据所述第一音频接收设备对象在服务器端与客户端之间建立第二通道。
参见图11,所述接收单元902包括:
第二命令发送单元1101,用于通过所述第二通道向客户端发送音频接收设备对象创建命令;
第四对象创建子单元1102,用于根据所述音频接收设备对象创建命令在客户端创建第二音频接收设备对象;
接收子单元1103,通过客户端的第二音频接收设备对象接收音频数据,并将接收的音频数据通过第二通道发送至服务器端的第一音频接收设备对象。
本发明另一实施例中,图9所示的设备还包括:
第二控制单元903,用于接收到音频接收终止命令时,通知所述客户端停止音频数据的发送,并断开所述第二通道。
本发明实施例所提供的设备建立了专用的音频接收通道,客户端无需对音频数据进行任何缓存即可通过该专用通道向服务器端发送待录制的音频数据。
此外,本发明实施例所提供的方法不受服务器端和客户端所应用的具体的系统的限制,实现方便,具有广泛的适用性和实用性。
本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (8)
1.一种远程桌面体系的音频处理方法,其特征在于,包括:
接收到服务器端操作系统的音频发送请求时,向客户端发起连接,建立第一通道;
接收音频数据,并通过所述第一通道向客户端发送音频数据;
接收到服务器端操作系统的音频发送请求时,建立第一通道具体为:
形成音频播放设备对象创建命令;
根据所述音频播放设备对象创建命令在服务器端创建第一音频播放设备对象;
根据所述第一音频播放设备对象在服务器端与客户端之间建立第一通道;
通过所述第一通道向客户端发送音频数据具体为:
通过所述第一通道向客户端发送音频播放设备对象创建命令;
根据所述音频播放设备对象创建命令在客户端创建第二音频播放设备对象;
通过服务器端的第一音频播放设备对象将音频数据从服务器端经第一通道发送至客户端的第二音频播放设备对象。
2.根据权利要求1所述的方法,其特征在于,还包括:
统计音频数据发送参数,并将所述音频数据发送参数反馈给系统,以使系统根据所述音频数据发送参数对所述音频数据的发送进行控制。
3.一种远程桌面体系的音频处理方法,其特征在于,包括:
接收到服务器端操作系统的音频接收命令时,向客户端发起连接,建立第二通道;
通过所述第二通道接收客户端发送的音频数据;
接收到服务器端操作系统的音频接收命令时,向客户端发起连接,建立第二通道具体为:
形成音频接收设备对象创建命令;
根据所述音频接收设备对象创建命令在服务器端创建第一音频接收设备对象;
根据所述第一音频接收设备对象在服务器端与客户端之间建立第二通道;
通过所述第二通道接收客户端发送的音频数据具体为:
通过所述第二通道向客户端发送音频接收设备对象创建命令;
根据所述音频接收设备对象创建命令在客户端创建第二音频接收设备对象;
通过客户端的第二音频接收设备对象接收音频数据,并将接收的音频数据通过第二通道发送至服务器端的第一音频接收设备对象。
4.根据权利要求3所述的方法,其特征在于,还包括:
接收音频接收终止命令时,通知所述客户端停止音频数据的发送,并断开所述第二通道。
5.一种远程桌面体系的音频处理设备,其特征在于,包括:
第一连接单元,用于接收到服务器端操作系统的音频发送请求时,向客户端发起连接,建立第一通道;
发送单元,用于接收音频数据,并通过所述第一通道向客户端发送音频数据;
所述第一连接单元包括:
第一命令创建子单元,用于接收到服务器端操作系统的音频发送请求时,形成音频播放设备对象创建命令;
第一对象创建子单元,用于根据所述音频播放设备对象创建命令在服务器端创建第一音频播放设备对象;
第一连接子单元,用于根据所述第一音频播放设备对象在服务器端与客户端之间建立第一通道;
所述发送单元包括:
第一命令发送子单元,用于通过所述第一通道向客户端发送音频播放设备对象创建命令;
第二对象创建子单元,用于根据所述音频播放设备对象创建命令在客户端创建第二音频播放设备对象;
发送子单元,用于通过服务器端的第一音频播放设备对象将音频数据从服务器端经第一通道发送至客户端的第二音频播放设备对象。
6.根据权利要求5所述的音频处理设备,其特征在于,还包括:
第一控制单元,用于统计音频数据发送参数,并将所述音频数据发送参数反馈给系统,以使系统根据所述音频数据发送参数对所述音频数据的发送进行控制。
7.一种远程桌面体系的音频处理设备,其特征在于,包括:
第二连接单元,用于接收到服务器端操作系统的音频接收命令时,向客户端发起连接,建立第二通道;
接收单元,用于通过所述第二通道接收客户端发送的音频数据;
所述第二连接单元包括:
第二命令创建子单元,用于接收到服务器端操作系统的音频接收命令时,形成音频接收设备对象创建命令;
第三对象创造子单元,用于根据所述音频接收设备对象创建命令在服务器端创建第一音频接收设备对象;
第二连接子单元,用于根据所述第一音频接收设备对象在服务器端与客户端之间建立第二通道;
所述接收单元包括:
第二命令发送单元,用于通过所述第二通道向客户端发送音频接收设备对象创建命令;
第四对象创建子单元,用于根据所述音频接收设备对象创建命令在客户端创建第二音频接收设备对象;
接收子单元,通过客户端的第二音频接收设备对象接收音频数据,并将接收的音频数据通过第二通道发送至服务器端的第一音频接收设备对象。
8.根据权利要求7所述的音频处理设备,其特征在于,还包括:
第二控制单元,用于接收到音频接收终止命令时,通知所述客户端停止音频数据的发送,并断开所述第二通道。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010109444.0A CN102148842B (zh) | 2010-02-08 | 2010-02-08 | 一种远程桌面体系的音频处理方法和设备 |
US13/576,533 US20120317243A1 (en) | 2010-02-08 | 2011-01-31 | Audio processing method and device for remote desktop protocol |
PCT/CN2011/000179 WO2011095056A1 (zh) | 2010-02-08 | 2011-01-31 | 一种远程桌面体系的音频处理方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010109444.0A CN102148842B (zh) | 2010-02-08 | 2010-02-08 | 一种远程桌面体系的音频处理方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102148842A CN102148842A (zh) | 2011-08-10 |
CN102148842B true CN102148842B (zh) | 2014-06-04 |
Family
ID=44354941
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010109444.0A Active CN102148842B (zh) | 2010-02-08 | 2010-02-08 | 一种远程桌面体系的音频处理方法和设备 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20120317243A1 (zh) |
CN (1) | CN102148842B (zh) |
WO (1) | WO2011095056A1 (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9131011B1 (en) | 2011-08-04 | 2015-09-08 | Wyse Technology L.L.C. | Method and apparatus for communication via fixed-format packet frame |
CN102999383B (zh) * | 2011-09-16 | 2018-09-28 | 中兴通讯股份有限公司 | 断开虚拟桌面的处理方法和装置 |
WO2013078614A1 (zh) * | 2011-11-29 | 2013-06-06 | 华为技术有限公司 | 一种虚拟桌面场景下音频压缩算法选择方法、装置及通信系统 |
US9747386B1 (en) | 2012-08-10 | 2017-08-29 | Amazon Technologies, Inc. | User-perceived performance through browser hints |
US9231949B1 (en) * | 2012-08-10 | 2016-01-05 | Amazon Technologies, Inc. | Content delivery to user devices using server-initiated connections |
CN104065679B (zh) * | 2013-03-21 | 2018-04-20 | 华为技术有限公司 | 一种远程桌面操作的方法及客户端 |
CN104702582A (zh) * | 2013-12-10 | 2015-06-10 | 乐视网信息技术(北京)股份有限公司 | 一种数据传输方法及装置 |
WO2015126469A1 (en) * | 2014-02-21 | 2015-08-27 | Dell Products L.P. | Generic transcoding service |
RU2637433C2 (ru) * | 2016-04-25 | 2017-12-04 | Акционерное общество "Лаборатория Касперского" | Система и способ противодействия несанкционированному доступу к данным микрофона |
US10013232B2 (en) * | 2016-08-29 | 2018-07-03 | Bose Corporation | Wireless speaker connection management |
CN108322818B (zh) * | 2018-02-28 | 2020-10-09 | 北京酷我科技有限公司 | 一种音频播放中的音频格式处理方法 |
CN109144464A (zh) * | 2018-08-27 | 2019-01-04 | 歌尔科技有限公司 | 一种音频输出的方法、装置及Android设备 |
CN109818979A (zh) * | 2019-03-20 | 2019-05-28 | 深圳创维数字技术有限公司 | 一种实现音频回传的方法、装置、设备及存储介质 |
CN110149528B (zh) * | 2019-05-21 | 2021-11-16 | 北京字节跳动网络技术有限公司 | 一种过程录制方法、装置、系统、电子设备、及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1610308A (zh) * | 2003-10-23 | 2005-04-27 | 微软公司 | 一对多数据投影系统和方法 |
CN101064713A (zh) * | 2006-04-26 | 2007-10-31 | 深圳Tcl新技术有限公司 | 通过电视机平台实现远程桌面的控制方法 |
CN101296375A (zh) * | 2008-06-12 | 2008-10-29 | 北京中星微电子有限公司 | 实现远程桌面演示的方法、系统及终端 |
WO2009154816A2 (en) * | 2008-04-01 | 2009-12-23 | Microsoft Corporation | Systems and methods for managing multimedia operations in remote sessions |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9049344B2 (en) * | 2007-08-24 | 2015-06-02 | At&T Intellectual Property I, L.P. | Method and system for providing content |
CN101420610B (zh) * | 2007-10-26 | 2010-08-18 | 闪联信息技术工程中心有限公司 | 显示远程桌面内容的方法及其装置 |
US8639830B2 (en) * | 2008-07-22 | 2014-01-28 | Control4 Corporation | System and method for streaming audio |
-
2010
- 2010-02-08 CN CN201010109444.0A patent/CN102148842B/zh active Active
-
2011
- 2011-01-31 WO PCT/CN2011/000179 patent/WO2011095056A1/zh active Application Filing
- 2011-01-31 US US13/576,533 patent/US20120317243A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1610308A (zh) * | 2003-10-23 | 2005-04-27 | 微软公司 | 一对多数据投影系统和方法 |
CN101064713A (zh) * | 2006-04-26 | 2007-10-31 | 深圳Tcl新技术有限公司 | 通过电视机平台实现远程桌面的控制方法 |
WO2009154816A2 (en) * | 2008-04-01 | 2009-12-23 | Microsoft Corporation | Systems and methods for managing multimedia operations in remote sessions |
CN101296375A (zh) * | 2008-06-12 | 2008-10-29 | 北京中星微电子有限公司 | 实现远程桌面演示的方法、系统及终端 |
Also Published As
Publication number | Publication date |
---|---|
WO2011095056A1 (zh) | 2011-08-11 |
CN102148842A (zh) | 2011-08-10 |
US20120317243A1 (en) | 2012-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102148842B (zh) | 一种远程桌面体系的音频处理方法和设备 | |
CN103702238B (zh) | 一种多屏视频共享方法及终端、服务器 | |
CN107135256A (zh) | 蓝牙通信方法、通信装置、通信系统及电子设备 | |
CN100546236C (zh) | 用于网络通信的知道时间的最大努力的填孔再试方法和系统 | |
CN104426832A (zh) | 一种多终端多声道独立播放方法及装置 | |
CN106535081A (zh) | 蓝牙模式切换方法、装置、通信系统及立体声音频传输方法 | |
CN106559690A (zh) | 一种智能电视上基于组播实现直播投屏的方法及系统 | |
TWI382717B (zh) | A method of sharing resources by interconnecting a network terminal device of two private networks by a user agent | |
CN101997916B (zh) | 一种基于网络进行文件传输的方法和装置 | |
CN108234518A (zh) | 一种终端通信的方法、装置、终端及存储介质 | |
TW200623730A (en) | Method of configuring network device | |
CN107005800A (zh) | 音频文件的传输、接收方法及装置、设备及其系统 | |
WO2019237668A1 (zh) | 接收设备和无线传屏系统 | |
CN106331276B (zh) | 一种通过蓝牙耳机发送电子名片的装置和方法 | |
CN107329726A (zh) | Android系统中对输入的音频数据的处理方法和装置 | |
CN107948567A (zh) | Usb有线传屏的方法及装置 | |
CN109688416A (zh) | 网络直播间的接入方法及网络直播系统 | |
CN101437050A (zh) | 播放机远程控制系统及播放机远程控制方法 | |
TW380341B (en) | Electronic apparatus, information transmitting method thereof, and storing medium | |
US20120069855A1 (en) | Control method, apparatus and system | |
CN109787900B (zh) | 传输方法、装置、设备和机器可读介质 | |
CN104036817B (zh) | 音频播放方法、装置及电子设备 | |
WO2023116311A1 (zh) | 数据交互方法、装置、设备及存储介质 | |
CN102655644B (zh) | 移动通信装置无线传输系统 | |
KR101873675B1 (ko) | 네트워크 기반 avb 시스템에서 오디오 콘텐츠 정보 전송 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |