XAudio2 延迟声音 - 播放多个声音时

XAudio2 delayed sound - when playing multiple voices

本文关键字:声音 延迟 XAudio2 播放      更新时间:2023-10-16

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

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

我使用子混音进行效果,背景音乐直接提交到母带语音。

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

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

在 Milsim 的情况下,问题恰恰是这样的,显然,他使用任务来显示声音,但它们不是在不同的线程中发出的。他用IAsyncAction解决了他的问题。