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

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

  • 1-在后台连续播放WAV文件。 所以整个应用程序正在运行这个背景音乐播放。
  • 2-当背景音乐继续播放时发生某些事件时,可以播放短音。

当附加事件发生在背景音乐中时需要混合什么,以便两者同时被听到?

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

如果有人可以提供示例代码让我开始,我将不胜感激。 几天后,我将创造一个赏金,并提供了很好的示例代码的声誉,做什么是需要的。

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

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

如果你正在寻找一个好的,通用的声音库,我建议你看看SDL 。 这是相当不错,小巧便携; 非常受欢迎的游戏。 他们在他们的网站上有一个很好的示例代码来帮助你开始。

对于播放声音的一部分,我使用了一个易于学习,使用,并在其文档中有一个很好的例子是fmod 。 下载的文档有一个非常容易理解的例子,你可以修改它,让你的声音播放得非常快。