这个问题与音频设计师和程序员的世界接壤。虽然这个问题可能必须由音频设计师的某个领域部分回答,但对于程序员来说肯定是个问题。在我们的项目中,我们想要在游戏计时器超过一分钟时循环播放声音(背景音乐)。当这个时间被击中时,我们希望停止播放音乐,,然后立即继续结束片段。我一直在研究XACT,它似乎支持不同的事件。遗憾的是文档缺乏,作为程序员,应用程序对我来说有些陌生。
我希望做的是这些方面(不同的方法):
问题在于,当另一个声音开始时我无法找到任何自动播放声音的机制,而且我找不到将XACT项目中发生的事件与C#联系起来的方法。 / p>
如果无法做到这一点(即XACT / XNA缺乏对这些操作的支持),请收集有关如何以最小的交叉声音时间错误解决此问题的想法。我最好能够通过调用XNA在C#中尽可能多地控制它。
答案 0 :(得分:4)
我是这样做的。
关闭窗口并通过播放Cue进行测试。还要测试是否阻止它 As Authored ,看看行为是否符合您的期望。
在代码中,停止 Cue As Authored 以获取此行为。 立即会在不播放声音的情况下停止提示。我希望这可以帮助将来可能遇到这个问题的其他人。问题和答案并不是我最初想的那么多代码导向。此外,这适用于XNA 2.0。我不知道在XNA 3.0 +中是否还有其他控制此类行为的选项。