使用 C 播放音频文件

Posted

技术标签:

【中文标题】使用 C 播放音频文件【英文标题】:Playing audio file using C 【发布时间】:2009-11-20 06:07:22 【问题描述】:

是否需要包含任何头文件来使用 C 语言播放音频文件。

【问题讨论】:

适用于什么平台? 您使用的是什么操作系统?您需要对播放进行多少控制?你在玩什么类型的文件? 是的,有个头文件被包含来使用C语言播放音频文件。你想知道哪些 是的,我想知道头文件?我正在使用 MAC OSX 。我的主要目的是!我想从网络摄像头捕捉音频和视频并播放。 【参考方案1】:

我建议你看看SDL Sound。它是可移植的,包括一些播放控制。

【讨论】:

【参考方案2】:

在 Mac OS X 上,原生音频 API 是 CoreAudio。苹果在他们的网站上为它提供了一些相当不错的documentation。它还提供了几种常见文件格式的格式转换器。

如上所述,您也可以使用 SDL——SDL 的优点是更便携。 CoreAudio 专用于 Mac OS X。

【讨论】:

除了使用 CoreAudio 之外,另一种选择是使用 OpenAL,这是一个非常好的音频 API,也是跨平台兼容的。我相信它支持比 SDL 更多的功能(例如环绕声),因此它可能是 OP 更好的选择,具体取决于他们的需求。【参考方案3】:

这取决于您要播放声音的平台和播放的格式。在 GNU/Linux 上,您有各种选项,例如 ALSA、Jack、PulseAudio 等。在 Windows 上,可能有用于播放音频的 win32 API。

如果您有一个简单的原始样本,在 GNU/Linux 上,您也可以将文件“cat”到音频设备。

还有一些与平台无关的 API 可用,让您可以使用一个 API 并在任何平台上重新编译应用程序。

【讨论】:

tuvix.apple.com/audio 似乎有一些很好的文档。我没有使用过 OSX,但我希望 OSX 中存在一种定义明确的方式来使用音频【参考方案4】:

正如 RageZ 所建议的那样,SDL 是一个不错的跨平台库。您可以从http://www.libsdl.org/获取更多信息

【讨论】:

以上是关于使用 C 播放音频文件的主要内容,如果未能解决你的问题,请参考以下文章

iOS音频播放

C 编程:如何播放音频文件? [复制]

如何用C语言播放一段音频呢

C语言播放音频文件的问题....

C语言播放音频文件的问题....

在不中断音频的情况下播放视频 - 目标 c