1

我正在使用 XAudio2 在我的游戏中播放声音。我有大约 16 个源声音,其中 3 个是循环效果,需要像背景音乐一样播放。我有另一个背景音乐,它开始定期播放(一旦完成,它会等待 1 分钟并重新启动)。每当需要播放其他效果(如按钮单击、枪击等)时,我都会搜索可用的源并将缓冲区附加到它并开始播放。

我的问题是一旦背景音乐开始播放,只会播放循环效果,而其他需要在游戏动作上播放的效果(例如按钮单击)不会播放。一旦背景音乐停止,所有这些延迟效果都会播放。此外,如果我使用一个循环效果(而不是 3 个),所有这些都会以正确的顺序播放。

我正在为效果使用子混音,而背景音乐直接提交给母带。

有人可以帮我吗,因为我被困在这里

4

1 回答 1

1

每当一个人打算同时播放不同的声音时,他或她应该确保这些声音不在队列中,按顺序显示,而是使用不同的线程显示。

在 Milsim 的案例中,问题正是如此,显然,他使用任务来显示声音,但它们不是在不同的线程中发出的。他使用IAsyncAction.

于 2013-09-09T20:05:47.043 回答