我有一个 XBMCBuntu 安装(基于 Ubuntu 11.10),这意味着我没有安装图形桌面环境。
我连接了一组 USB 扬声器,运行大约一两分钟后,pacmd list-sinks
只产生一个信号:我的笔记本电脑的板载声卡。
大约 3 分钟后,运行相同的命令会同时启用原始声卡和 USB 扬声器,此时我可以运行pacmd set-default-sink alsa_output.usb-1130_USB_AUDIO-00-AUDIO.analog-stereo
并从外围扬声器播放声音。
不幸的是,该命令带来的更改pacmd set-default-sink
在重新启动后不会持久。我怀疑这是因为 pulseaudio 在前三分钟无法检测到 USB 扬声器时会使用板载声卡。当然,我不是真的事实确实如此,但这引出了以下问题:
- 为什么检测扬声器要花这么长时间;我能做些什么来加快速度?
- 除了安排 cronjob
pacmd set-default-sink alsa_output.usb-1130_USB_AUDIO-00-AUDIO.analog-stereo
在正常运行几分钟后运行之外,还有其他方法可以使这些更改持久吗?
谢谢!
答案1
我们没有解决方案来解决您的系统识别外部 USB 声音设备所需的长时间超时问题,但有一种方法可以在 Pulse Audio 输出接收器可用时立即将其连接到该设备(因为当default.pa
声音服务器启动时设备尚未准备好时,无法加载默认接收器)。
脉冲音频模块连接开关启用连接时自动切换音频设备。要测试此功能是否有效,我们可以在终端中发出以下命令:
pacmd load-module module-switch-on-connect
如果成功,我们可以将以下行添加到我们的/etc/pulse/default.pa
load-module module-switch-on-connect
始终默认加载此模块。
现在,Pulseaudio 输出接收器应该切换到任何新连接的接收器,在您的情况下,这将是您的 USB 音频设备。