【发布时间】:2017-02-02 07:10:49
【问题描述】:
我有一个关于声音的问题。 我以前在我的项目中使用过像 OpenAL 这样的声音库。 我需要的是了解这些库使用的底层操作系统 API。 即使每个库都提供了一种操作输入文件的简单方法 根据格式,非常基本的“原始字节到字节,发送到驱动程序” 函数必须存在。
我的意思是,肯定有一个默认的 api(一个用于 windows,另一个用于 Linux) 这些库使用。我不认为他们直接使用每个声音 卡的驱动程序,因此操作系统必须以某种方式发挥作用。我说的对吗?
现在,我知道 DirectX 支持声音(虽然我从未使用过),但是 DirectX默认没有安装在windows上,所以我想它不算数, 我不知道在 Linux 上会发生什么,我想知道两者。
我知道不使用专用库可能不切实际,但我不知道 真的不打算,但我对这个话题很好奇。 所以请放过我吧。
那么,对于基本图形,它是 OpenGL 和 DirectX...但是声音呢?
提前谢谢你。
【问题讨论】:
-
对于 Linux 来说,回答是有问题的,因为没有一个单一的声音 API。
-
那么在 Linux 中,库是如何与所有声卡驱动程序连接的呢?而在windows中,所有声音库都以PlaySound为基础吗?
-
PlaySound 是一个 Windows API 函数,可让您快速轻松地播放声音。它是一种高级的播放声音的方法,它侧重于便利性而不是深度功能。见参考:msdn.microsoft.com/en-us/library/windows/desktop/…
-
@el.pescado 该图几乎总结了 linux 音频的混乱。它似乎也缺少一些连接。 PortAudio 为 ALSA、Pulse 和 OSS 提供了专门的后端,这会给图表带来更多混乱。