更改 SoundEffect 的音量 Class

Change volume of SoundEffect Class

我已经初始化了一个 SoundEffect 属性 像这样:

private SoundEffect sound;

并且它已被加载到 Load() 函数中,如下所示:

sound = Content.Load<SoundEffect>("Jump15");

声音播放正常,但声音太大,我尝试在 Load() 函数中使用 SoundEffect.MasterVolume 不同的值,但它似乎没有改变音量全部.

请帮忙!

SoundEffect.Play() 方法有一个版本,它以体积作为参数。您可以将第二个和第三个参数设置为零。

sound = Content.Load<SoundEffect>("Jump15");
sound.Play(volume: 0.5f, pitch: 0.0f, pan: 0.0f);

或者,您可以创建音效实例并在声音开始播放后设置音量。这在您想要应用效果时非常有用,例如淡入或淡出声音。

var instance = sound.CreateInstance();
instance.Volume = 0.5f;
instance.Play();

有关 here's a nice tutorial 在 XNA/MonoGame 中播放 SoundEffect 的更多信息。