在远程桌面(Remote Desktop Connection)的本地资源(Local Resources)选项里,有个远程计算机声音(Remote Comupter sound)的设置,通过设置带到这台计算机(Bring to this computer)这个选项,可以使得在远程服务器上播放的音乐在RDP终端设备的音箱或者Mic上输出,这样对于Thinclient/WinCE等由于系统资源限制或者软件限制以及网络文件访问等限制导致的播放音乐比较麻烦的问题就可以有效解决。而另一个选项留在远程计算机(Leave at remote computer)则是在服务器上播放时声音输出仍旧在远程计算机的音箱或者Mic里。
这个技术的大致原理呢,在远程计算机上(不管是Win2003的终端服务还是WinXP的远程桌面,实际是都是基于RDP的Windows Terminal Service),在客户段连接上之后,会启用一个Microsoft RDP 音频驱动程序(Microsoft RDP Audio Driver ),这个驱动的工作就是负责接管远程计算机上正在播放的音频,把它压缩之后作为网络流传递到客户端,再由RDP客户端把这个音频网络流发送到本地声卡上作为输出。
但是,默认情况下,这个选项设置完成之后,在服务器上播放音乐时,却仍旧会提示声音设备没有正常安装或者被别的程序占用或者声音设备工作不正常而导致Meida Player无法播放文件。("Windows Media Player cannot play the file because there is a problem with your sound device. There might not be a sound device installed on your computer, it might be in use by another program, or it might not be functioning properly.")。在检查音量控制时,可以看到Microsoft RDP Audio Driver是显示正常,而在系统的声音和音频设备里也能看到声卡设备都运转正常。
如果出现这种情况,那么就是由于远程终端服务器的配置导致的。在远程终端服务器上,进入管理工具 -> 终端服务配置 -〉连接-〉RDP-Tcp 右键,属性,客户端设置,最下面有个禁用下列项目,把音频映射的选项清楚,确定后退出重新远程登录到远程终端服务器上,再启动Media Player播放音乐,就能在你本机客户端上的耳机里听到音乐飘出来了。
跟Win2003相反,在Windows XP里,这个选项默认是允许音频重定向到RDP客户端的。但是如果被不小心更改了,因为WinXP里没有终端服务配置这个管理工具,所以要改回来就相当麻烦了,需要在组策略对象编辑器里才能更改。运行-> MMC -> 文件 -> 添加/删除管理单元 -> 添加 -> 组策略对象编辑器 -> 添加 -> 本地计算机 -> 完成 -〉关闭 -> 确定, 回到MMC界面。选择 计算机配置-> 管理模板 -> Windows 组件 -> 终端服务 -> 客户端/服务器数据重定向,允许音频重定向,改成已启用,确定,退出MMC,重新登录即可。