Reproducción de sonidos
Sonidos usando SoundEffect
Para reproducir un sonido usando el tipo SoundEffect
, cree una variable para contener el sonido cargado. Por lo general, esta sería una variable de instancia en la clase Game
:
private SoundEffect mySound;
Luego, en el método LoadContent()
de la clase Game
:
protected override void LoadContent()
{
// load the audio content
mySound = Content.Load("mySound");
}
Finalmente, cada vez que necesite reproducir el sonido, simplemente invoque el método Play()
:
bool played = mySound.Play();
Si por alguna razón, como que ya se están reproduciendo demasiados sonidos, el método Play()
puede devolver falso
. Si el sonido comenzó a reproducirse correctamente, devolverá “verdadero”.
Controlar la reproducción usando SoundEffectInstance
SoundEffect.Play()
reproduce el efecto de sonido en una forma de “disparar y olvidar”. El sonido se reproduce una vez y el marco gestiona su duración. No puede cambiar las propiedades (volumen, panorama, tono) del sonido durante la reproducción, repetirlo, colocarlo en 3D o pausarlo.
Puede mantener una referencia al sonido que se está reproduciendo creando una SoundEffectInstance
. En lugar de llamar a SoundEffect.Play()
, llama a CreateInstance()
en SoundEffect
y luego a Play()
en la nueva instancia:
SoundEffectInstance instance = mySound.CreateInstance();
// Set some properties
instance.Pitch = 1.0f;
instance.IsLooped = true;
// Play the sound effect
instance.Play();
Puede haber varias instancias del mismo SoundEffect
, cada una con sus propias propiedades. La instancia se puede reproducir llamando a Play()
después de que se haya detenido la reproducción.