2017-08-12 61 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