iwlagn 网卡在 linux 3.1.5—3.1.7 中频繁掉线问题的修复
面向 GTK+ 3 的 GtkGLExt 现状

PulseAudio 跨网络应用

Garfileo posted @ 2012年1月09日 20:30 in Linux 的世界 with tags X Window 系统 PulseAudio , 8165 阅读

我们屋里有一台计算机是专门用来做报告的,为它配备了一台投影仪。在作报告的时候,有时想播放一些音频文件,但是这台计算机没有扬声器。为了便于问题的描述,可以将这台计算机称为“哑巴机”。除了这台哑巴机之外,其他的计算机都内置了音效挺好的扬声器,相应的,我们管这些带扬声器的机器称为“有声机”。由于我们比较缺钱,所以不想为哑巴机再配备一个外部音箱,只想找个办法使得哑巴机可以通过有声机的扬声器播放音频。使用 PulseAudio 可以很简单的解决这个问题。

将有声机作为服务器

打开 /etc/pulse/default.pa 文件,增加以下内容:

load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1;192.168.0.0/24 auth-anonymous=1

192.168.0.0 这个 IP 起始地址可根据具体的网络环境进行修改。

然后重启 pulseaudio 服务:

$ pulseaudio --kill
$ pulseaudio --start

将哑巴机作为客户端

在哑巴机上,只需将有声机的 IP 地址设为服务器地址,然后开启音频程序(这个音频程序支持 PulseAudio)即可,例如:

$ export PULSE_SERVER=192.168.0.7
$ rhythmbox foo.mp3

如果想将某个有声机设为哑巴机的默认服务器,可以修改哑巴机上的 /etc/pulse/client.pa 文件,增加以下内容:

default-server = 192.168.0.7

然后执行以下命令刷新一下 PulseAudio 服务器地址:

$ pax11publish -e -r

这样每次在哑巴机上打开音频程序之前就不需要显式设定服务器地址变量 PULSE_SERVER 了。

让 X Window 网络透明也具备音频传送能力

在上文内容的基础上,我们可以在有声机上通过 X Window 的 X Serve 端访问哑巴机(其 IP 地址假设是 192.168.0.22)上的 X Client 端,命令如下:

$ xhost +
$ ssh -X mute@192.168.0.22
$ rhythmbox foo.mp3

这样,就可以让哑巴机上的 rhythmbox 利用本地机的扬声器放出音频。

转载时,希望不要链接文中图片,另外请保留本文原始出处:http://garfileo.is-programmer.com

Avatar_small
λ 说:
2012年1月09日 20:56

啊……有局域网真好,真想试一下。

delectate 说:
2012年1月09日 23:35

好厉害!知道pulseaudio具有这个特性,不过从来没有实践过。

yyc 说:
2012年1月09日 23:44

网络透明真好

yyc 说:
2012年1月09日 23:52

感觉dbus要是能和X Window统一一下啥的就完美了 LOL

Avatar_small
Garfileo 说:
2012年1月10日 00:56

@yyc:
> 感觉dbus要是能和X Window统一一下啥的就完美了

只需将 dbus 打回 CORBA 就可以了 :-)

dbus 据说在未来也要支持不同主机间的进程通信。


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter