Pulseaudio实现linux的声音转发

7cmb a nobody

此文章用以记录wsl2部署vnc后没有音频的解决方法,虽然个人认为我的wsl2环境下没有音频甚至没有完整桌面都无伤大雅,毕竟只是用作写写配置文件和博客,但是本着做事做全套的作风,还是给加上了音频(即使我的gui 2k分辨率下帧率只有几十)……..


1、安装pulseaudio

Windows版本下载链接 ,下载完随便找个地解压就行了。linux照例,相信安装过arch的老哥应该不会对陌生 PulseAudio - ArchWiki ,为了控制音量顺带把pulseaudio-alsa和alsa-utils也给装了。

2、编辑服务端配置文件

windows的软件为服务端,此时linux的软件为客户端,注意区分。

首先编写服务端的配置文件,路径在 pulseaudio-1.1/etc/pulse(因为编码问题,所以这是linux的文件格式下的相对路径,正确写法略),找到对应词条,照例更改

daemon.conf

1
exit-idle-time = -1


default.pa

1
load-module module-native-protocol-tcp auth-ip-acl=客户端机器ip

注意前面的注释是否删掉

3、编辑客户端配置文件

然后编写客户端配置文件,路径在 /etc/pulse

daemon.conf

1
exit-idle-time = -1

最后添加当前环境转发的环境变量,我是xrog环境下的vnc,所以路径是X服务的~/.xprofile,理论上修改/etc/environment也可以

1
2
export HOST_IP="$(ip route | awk '$1=="default" {print $3}')"
export PULSE_SERVER="tcp:$HOST_IP"

此时已经完成转发,如果想要先行测试请在gui的终端下输入以上两端命令,之后打开服务端bin目录下的的pulseaudio.exe后在刚刚输入命令的终端窗口输入speaker-test即可。

注意客户端和服务端必须路由可达,且已防火墙已正确配置

结尾

测试通过后就能直接打开服务端的pulseaudio.exe后放在后台,享受声音转发服务了

  • 标题: Pulseaudio实现linux的声音转发
  • 作者: 7cmb
  • 创建于 : 2023-09-29 23:08:26
  • 更新于 : 2024-10-12 23:07:35
  • 链接: https://7cmb.com/pulseaudio实现linux的声音转发/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。