4

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

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

当额外的事件声音与背景音乐一起发生时,需要什么来混合它们以便同时听到两者?

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

如果有人可以提供示例代码让我开始,我将不胜感激。几天后,我将创建一个赏金,并为满足需要的示例代码提供良好的声誉。

4

2 回答 2

2

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

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

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

于 2012-08-10T18:00:58.723 回答
0

对于播放声音的部分,我使用的一个易于学习、使用并且在其文档中有很好示例的库是fmod。下载附带的文档有一个非常易于理解的示例,您可以对其进行修改并快速播放您的声音。

于 2012-08-10T18:06:53.920 回答