2

我正在 XNA 中制作游戏……我还没有看过 monogame,但我意识到我将来可能会看它……

我还没有在我的游戏中实现声音。气氛在这个游戏中非常重要,所以不同房间的不同混响和延迟很重要。

我可以使用 XACT 动态执行此操作,但是我知道 Monogame 不支持 XACT

还有什么可以看的吗??

能做的是用小、中、高混响录制每种音效的 3 个版本,然后根据你所在的房间播放不同的版本。我认为这可以正常工作我假设实时音频较少正在进行的处理在 CPU 上会更轻。

4

1 回答 1

1

这是一个老问题,但我认为对于正在寻找答案的人来说,它仍然需要一个适当的答案。

对于 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);

希望这可以帮助!

于 2019-04-11T11:24:20.480 回答