我想将现有的Windows应用程序移植到Unix,我找不到有关Unix音频系统的某些信息,如果有人可以分享他们的经验,我将不胜感激。
我怎么能:
是否可以为每个Unix系统执行此操作,或者我是否必须以不同的方式为每个系统执行此操作(在FreeBSD,Ubuntu上...)?
答案 0 :(得分:1)
Unix有很多混乱的音频框架。您可能最终必须以平台/框架相关的方式进行一些工作。我建议开始使用PortAudio / PortMixer。 Audacity使用它,希望它可以满足您的大多数需求。但它应该支持最常见的Unix变种,如Mac OS X,Linux-Alsa,Linux-OSS,FreeBSD以及我想更多。
答案 1 :(得分:1)
在各种现存的Unix上有许多不同的竞争声音API。
Linux似乎已经融合在PulseAudio API上,用于通用声音输出;我的理解是它具有与DirectSound类似的功能。您还应该调查ALSA,这是一个仍然广泛使用的低级API,以及JACK,它与PulseAudio处于同一级别,但专门用于录制工作室类型的工作。这些应该适用于所有合理的Linux最新发行版。 (注意:如果您尝试为Linux作为第三方软件供应商分发已编译代码,那么您正在做错了。分发源代码,分发版将为您编译它。)
文档说 PulseAudio和JACK也适用于FreeBSD,但我不知道它们是如何流行的。我不知道任何其他BSD或剩余的专有Unix。
远离任何称自己为“OSS”的东西,除非你别无选择。这本来是一个旧的,过时的内核级声音API的名称,仅适用于Linux。最近一次复活它的尝试(“OSSv4”)AFAICT只设法生产了一个僵尸。