c - 编程 Linux 应用程序以同时播放多个声音

标签 c linux audio alsa

我需要编写一个执行以下操作的 Linux 应用程序:

  • 1- 在后台连续播放 WAV 文件。所以整个 应用程序运行时会播放此背景音乐。
  • 2- 能够在背景音乐继续播放的同时,在某些事件发生时播放简短的声音。

当事件与背景音乐一起发生时,需要将什么混入附加事件声音以便同时听到两者?

我从来没有写过 Linux 声音代码,所以这对我来说是全新的。我假设我需要写入 ALSA API?或者其他一些可以促进这一点的图书馆?

如果有人可以提供示例代码来帮助我入门,我将不胜感激。几天后,我将创建一个赏金计划,并为执行所需操作的示例代码提供良好的声誉。

最佳答案

您通常不想直接使用 ALSA API。它很难使用,而且不是真正可移植的(因为 ALSA 是特定于 Linux 的)。

如果您在您的应用程序中使用某些特定的库(如 Qt 或类似的东西),可能已经有一个对应的声音库来播放声音。

如果您正在寻找一个好的、通用的声音库,我建议您看看 SDL .它非常好,小巧便携;非常受欢迎的游戏。他们有一个很好的example code在他们的网站上帮助您入门。

关于c - 编程 Linux 应用程序以同时播放多个声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11906824/

相关文章:

Linux——如何用单行命令从一个文件中剪切一列并粘贴到另一个文件中?

c++ - 静态库 - 调试还是发布?

c# - 控制谁可以使用XP中的音频输出 channel

c - Windows 中低级音频的最佳 API?

c - C 中数组中的元素数量,不带 sizeof

c - 为什么 malloc 和 free 有不同的返回类型?

c - gcc 编译器中的 outp() 对应项是什么?

java - 如何监听 "always listening mode"中的麦克风

c - 努力让前 K 学生回归

c - 从守护进程运行时 XOpenDisplay 失败(C 语言)