我正在 XNA 中制作游戏……我还没有看过 monogame,但我意识到我将来可能会看它……
我还没有在我的游戏中实现声音。气氛在这个游戏中非常重要,所以不同房间的不同混响和延迟很重要。
我可以使用 XACT 动态执行此操作,但是我知道 Monogame 不支持 XACT
还有什么可以看的吗??
我能做的是用小、中、高混响录制每种音效的 3 个版本,然后根据你所在的房间播放不同的版本。我认为这可以正常工作,我假设实时音频较少正在进行的处理在 CPU 上会更轻。
这是一个老问题,但我认为对于正在寻找答案的人来说,它仍然需要一个适当的答案。
对于 Monogame 中的声音,您可以使用 SoundEffect 或 MediaPlayer 类来播放音频。
SoundEffect 类的示例:
SoundEffect soundEffect;
soundEffect= Content.Load<SoundEffect>("sound_title");
soundEffect.Play();
SoundEffectInstances 类的示例(使用上面创建的 SoundEffect):
SoundEffectInstance soundEffectInstance = effect.CreateInstance();
soundEffectInstance.Play();
然后,您可以随时使用以下命令停止播放音效:soundEffectInstance.Stop();
MediaPlayer 类的示例(最适合背景音乐): 在 LoadContent() 中:
Song song = Content.Load<Song>("song_title");
MediaPlayer.Play(song);
希望这可以帮助!