2017-08-12 81 views
0

我遇到了使用monogame框架应用3D声音的问题。使用Monogame在2D游戏中应用3D音效

我目前使用最新版本(3.6),似乎无法从不同的方向播放声音。无论我设置听者和发射器的位置如何,播放的声音都是一样的。这是我的代码,任何帮助都会很棒。

SoundEffectInstance instance enemy.WarCry.CreateInstance(); 
AudioEmitter emitter = new AudioEmitter(); 
AudioListener listener = new AudioListener(); 
listener.Position = new Vector3(player.Position, 0); 
emitter.Position = new Vector3(enemy.Position, 0); 
instance.Apply3D(listener, emitter); 
instance.Play(); 

回答

0

Monogame只支持3D效果的单声道。将立体声转换为单声道,使用像Audacity这样的免费音频编辑器是最好的选择。

+0

这与问题无关。如果他们还没有使用单声道音效,则对Apply3D()的调用将抛出一个异常,而不是像所述那样总是播放声音。 –

+0

@RootVegetable我有同样的问题,并且在用立体声声音文件调用Apply3D()时没有得到任何异常。这个bug在很多日子里花了我很多时间,这绝对解决了它。 也许他们在新版本中添加了一个异常。 – anonymous