Я работаю над проектом 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);
}
}
Любая помощь будет оценена. Спасибо!