前言:
现时咱们对“ubuntu声音输出”大致比较关注,兄弟们都需要学习一些“ubuntu声音输出”的相关内容。那么小编也在网上搜集了一些关于“ubuntu声音输出””的相关文章,希望同学们能喜欢,各位老铁们一起来了解一下吧!Pulse Audio
PulseAudio,以前称为Polypaudio,是POSIX和WIN32系统的声音服务器。它是ESD声音服务器的替代品,具有更好的延迟,混合/重采样质量和整体体系结构。
Ubuntu设备间传输声音
服务端配置
安装 pulse audio preferences tool.
$ sudo apt-get install paprefs使用paprefs配置pulse-audio
运行paprefs,取消选中所有选项卡上的所有选项(不止图中的Network Server选项卡),除了以下两个:
“Enable network access to local sound devices” “Don't require authentication"
若需要本机的Pulse Audio Server能被Client搜索发现,需勾选“Allow other machines on the LAN to discover local sound devices”:
重启 pulse audio server
$ pulseaudio -k
客户端
首先,可以从命令行测试客户端能否连上Pulse Audio Server:
paplay --server=x.x.x.x:4713 test.wav
系统配置:
安装 paprefs运行paprefs,配置如下,勾选“Network Access"选项卡中的"Make discoverable PulseAudio network sound devices available locally"。在Settings音频配置界面中就可以发现多了一个远端输出设备,选中即可使用。Windows接收Ubuntu的声音下载PulseAudio for Windows ,是1.1版本,2013年后没更新,freedesktop.org/wiki/Software/PulseAudio/Ports/Windows/Support/配置文件: 'etc\pulse\default.pa'
若不想录制与发送麦克风的录音,关闭此选项。每次麦克风录制完,服务会失效,得重启。
Line 42FROM load-module module-waveout sink_name=output source_name=inputTO load-module module-waveout sink_name=output source_name=input record=0
配置监听IP:
Line 61FROM #load-module module-native-protocol-tcpTO load-module module-native-protocol-tcp listen=0.0.0.0 auth-anonymous=1配置文件:Edit 'etc\pulse\daemon.conf',默认机制是客户端断开20秒后此服务端就退出。
Line 39FROM ; exit-idle-time = 20TO exit-idle-time = -1启动服务,其会申请网络权限
以上即配置OK,在客户端Ubuntu中配置PULSE_SERVER环境变量即可使用。
Windows接收WSL2 Ubuntu的声音
配置同上节的“Windows接收Ubuntu的声音”。
使用,若我们的Pulse Audio Server比WSL2先启动,则WSL2 Ubuntu自带的wslu包会自动发现本机的Pulse Audio Server服务,并自动配置PULSE_SERVER环境变量。
WSL_INTEGRATION_CACHE=$HOME/.cache/wslu/integrationif find -L $WSL_INTEGRATION_CACHE -newer /etc/resolv.conf 2> /dev/null | grep -q -m 1 '.'; then . $WSL_INTEGRATION_CACHEelif type pactl > /dev/null 2>&1 || type xvinfo > /dev/null 2>&1; then # detect WSL host if type systemd-detect-virt > /dev/null 2>&1 && test "$(systemd-detect-virt -c)" != wsl -a -e /etc/resolv.conf; then WSL_HOST=$(awk '/nameserver / {print $2; exit}' /etc/resolv.conf 2>/dev/null) WSL_HOST_X_TIMEOUT=0.2 WSL_HOST_PA_TIMEOUT=0.3 else WSL_HOST=${WSL_HOST:-localhost} WSL_HOST_X_TIMEOUT=0.6 WSL_HOST_PA_TIMEOUT=0.8 fi # create emty cache [ -d $HOME/.cache/wslu ] || mkdir -p $HOME/.cache/wslu echo -n "" > $WSL_INTEGRATION_CACHE # set DISPLAY if there is an X11 server running if type xvinfo > /dev/null 2>&1 && env DISPLAY=${WSL_HOST}:0 timeout $WSL_HOST_X_TIMEOUT xvinfo > /dev/null 2>&1; then export DISPLAY=${WSL_HOST}:0 export LIBGL_ALWAYS_INDIRECT=1 echo -e "export DISPLAY=$DISPLAY\nexport LIBGL_ALWAYS_INDIRECT=1" >> $WSL_INTEGRATION_CACHE fi # set up audio if pulse server is reachable only via tcp if type pactl > /dev/null 2>&1 \ && (! timeout $WSL_HOST_PA_TIMEOUT pactl info > /dev/null 2>&1 || timeout $WSL_HOST_PA_TIMEOUT pactl info 2> /dev/null | grep -q 'Default Sink: auto_null' ) \ && env PULSE_SERVER=tcp:${WSL_HOST} timeout $WSL_HOST_PA_TIMEOUT pactl info > /dev/null 2>&1; then export PULSE_SERVER=tcp:${WSL_HOST} echo -e "export PULSE_SERVER=$PULSE_SERVER" >> $WSL_INTEGRATION_CACHE fi unset WSL_HOST unset WSL_HOST_X_TIMEOUT unset WSL_HOST_PA_TIMEOUTfiunset WSLU_INTEGRATION_CACHE串流浏览器音频
启动Chrome浏览器时加环境变量PULSE_SERVER,即可将Chrome的音频串流至Pulse Audio Server上。
Ubuntu接收Android手机的音频Ubuntu端安装
sudo apt install pulseaudio-module-bluetoothpactl load-module module-bluetooth-discoverUbuntu通过蓝牙连接Android手机。在连接的Android蓝牙设置中,点击用于:“媒体音频”。现在就可以工作了。可以在Ubuntu面板中核实:
标签: #ubuntu声音输出 #ubuntu pulseaudio