我的电脑已按我想要的方式设置好了,没有安装 pulseaudio,一切运行正常。不幸的是,我想使用的一款软件(cockatrice,一款 M:tG 客户端)需要安装 pulseaudio。如果我尝试在未安装 pulseaudio 的情况下启动它:
Using SFMT random number generator.
12565 cards in 106 sets loaded
main(): starting main program
Unable to create a connection to the pulseaudio context
我安装了 pulseaudio,但它搞乱了一些东西,似乎无法正常工作。那么,有没有办法可以安装 pulseaudio 而不实际使用,但程序会说“哦,它安装好了,太棒了!”?
答案1
好的,首先是两件事:
- 你可以/应该使用包裹
equivs
创建一个提供 的虚拟包pulseaudio
。这样,如果您已经解决了兼容性问题,就不必为了满足依赖关系而安装 PulseAudio。 - 但在这种情况下,程序似乎没有任何依赖问题(如果它实际上在没有 PulseAudio 的情况下无法运行,那么从技术上讲这本身就是一个问题)。
一些程序继续使用 ALSA 系统来处理声音,因为 PulseAudio 有一个模拟层,可以毫无问题地捕捉这些信号。但是,也可以直接使用特定的 PulseAudio 驱动程序来降低复杂性/延迟等,从您所说的情况来看,Cockatrice 似乎就是这样工作的。
据我所知,没有可用的“反向仿真”——软件方面没有“PulseAudio->ALSA”机制(不幸的是,“ALSA”是一个含糊不清的词,因为它同时提供了硬件驱动程序和软件音频处理器;PulseAudio 使用 ALSA 驱动程序与硬件通信,但却将自己塞在 ALSA 的软件和硬件组成部分之间)。
总而言之:不,如果程序是专门为 PulseAudio 编写的,我认为目前没有可用的方法将信号转换为 ALSA 软件端可以理解的信号。也许可以在编译时或启动时完全禁用 Cockatrice 的音频,以便仍然能够使用它。
最后一个选择是花时间让 PulseAudio 在您的机器上运行。