我正在研究MonoGame项目,当发射武器时,应该播放子弹的音效,并根据子弹的起始位置平移音频。
文档说,声相值在-1.0f到1.0f之间,但是音频仅在左扬声器,右扬声器或均衡状态下播放。 pan = 0.1f
与pan = 1.0f
一样。使用SharpDX库时,此行为与预期的一样,但在我们移至OpenGL之后却没有。
这是我们编写的用于播放音频的功能。
public static void PlaySound(string name, float vol = 0.5f, float pan = 0.0f, bool jitter = false)
{
bool ok = SFX.TryGetValue(name, out SoundEffect audio);
if (ok)
{
float pitch = jitter ? ((float)Utils.Random.NextDouble() / 4.0f) : 0.0f;
audio.Play(vol, pitch, pan);
}
}
任何帮助将不胜感激。谢谢!