在我回到 ALSA 之前,我在 Debian 系统上使用了一些仅 OSS(需要/dev/dsp
)应用程序,多年来一直遇到严重的 PulseAudio 死锁问题。我想看看是否可以修复它,以及如何修复它。
我正在使用 Debian Wheezy,并且不想升级到 Jessie,直到它变得稳定,所以我更喜欢 Wheezy 的解决方案(例如,osspd
这可能是一种解决方案,在 Wheezy 上尚不存在)。
例如,我正在使用的一个应用程序,它严格来说只是 OSS sidplay2
。
到目前为止我只能通过oss-compat
安装来解决问题,它提供了/dev/dsp
需要它的OSS应用程序。
然而,就/dev/dsp
目前而言,显然几乎所有应用程序(例如 MPlayer、ogg123、mpg321 等应用程序,以及所有基于 SDL 的应用程序,例如 Battle for Wesnoth、第三方 Flash 插件)都尝试使用它,而不是任何更高级的东西(例如 Alsa 或 PulseAudio)。
如果没有它oss-compat
,甚至无法aoss
工作,所以看起来我现在无法在没有它的情况下使用仅 OSS 的应用程序。我阅读了它的手册页和一些文档,但创建一个.asoundrc
似乎都没有做aoss
它应该做的事情(oss-compat
安装后,它可以工作)。
然而,在这个系统中,PulseAudio 非常不稳定,并且在启动一个想要使用 OSS(几乎是一切)的新应用程序(而该应用程序已经在运行)时偶尔会出现死锁。这种情况下唯一的“解决方案”是-SIGKILL
解决死锁的应用程序,并终止 PulseAudio。
我当前的问题“解决方案”是恢复到 Alsa(删除 PulseAudio),安装oss-compat
并修补一些东西以使用aoss
或明确使用 Alsa,因此可能产生音频输出的东西可以同时稳定地运行。
不过,我希望以“正确的方式”使用它,不删除 PulseAudio,无需oss-compat
安装。
(确实这与我之前的问题有关这里,然而,当我询问时,如果没有帮助,我对发生的事情一无所知德罗伯特,我仍然会在理解这一点时死了)
答案1
您应该使用 启动 OSS 应用程序padsp
。这似乎是显而易见的事情,但你没有提及。