在 FreeBSD 11.1 中使用 OSS 时,我遇到了这样的问题:如果打开了“太多”产生声音输出的应用程序,甚至打开了“太多” Firefox 中的 YouTube 标签,其中一些应用程序将不会输出任何声音。“太多”可以低至两个 - 因人而异。
例如,mpv 在这种情况下会出现以下错误:
[ao/oss] Can't open audio device /dev/dsp: Device busy
[ao] Failed to initialize audio driver 'oss'
Could not open/initialize audio device -> no sound.
你知道有什么方法可以解决这个问题吗?
答案1
该命令fstat | grep dsp
将显示哪些应用程序使设备保持打开状态。如果您只认为您是从低至 2 的数字进行混合,那么您可能会感到惊讶。
默认情况下允许混合 4 个 - 但您可以使用 sysctl 轻松更改此设置。只要没有人使用任何通道,就可以即时完成此操作。
三系统控制(8)旋钮可用于配置虚拟通道:
# sysctl dev.pcm.0.play.vchans=4
# sysctl dev.pcm.0.rec.vchans=4
# sysctl hw.snd.maxautovchans=4
然后你可能会通过调整这些而幸运。您可以使用永久设置它们/etc/sysctl.conf
以上所有内容均来自 FreeBSD 手册部分7.2.设置声卡- 特别是 7.2.3 和 7.2.4