使用 SoundEffectInstance 控制播放

SoundEffect.Play()即发即忘的方式播放音效。声音播放一次,其生命周期由框架管理。你无法在播放期间更改声音的属性(音量,声相,音高),循环播放,将其置于 3D 或暂停。

你可以通过创建 SoundEffectInstance 来保持对播放声音的引用 。与其说 SoundEffect.Play() 的,叫 CreateInstance()SoundEffect 然后 Play()的新实例:

SoundEffectInstance instance = mySound.CreateInstance();

// Set some properties
instance.Pitch = 1.0f;
instance.IsLooped = true;

// Play the sound effect
instance.Play();

可以有相同 SoundEffect 的多个实例,每个实例都有自己的属性。播放停止后,可以通过调用 Play() 重播实例。