Skip to content
enero 23, 2011 / 100xna

[Básico] Audio en XNA (II): SoundEffectInstance


En un post anterior os comentaba cómo reproducir sonidos en XNA. Esa forma era una sencilla manera de reproducir sonidos, sin embargo, no disponemos del control sobre la reproducción del sonido. Por ejemplo, una vez que hemos empezado a reproducir el sonido no hay forma de detenerlo. Para alminar esta restricción tan tonta, disponemos de la clase “SoundEffectInstance”.

Vamos a ver como usar esta clase en nuestro juegos, sustituyendo todos los sonidos que teníamos en el ejemplo anterior por SoundEffectInstances.

Primero declaramos la nueva variable…

private SoundEffectInstance explosion;

y cargamos el sonido como se explicó en el post anterior:

SoundEffect exp = Content.Load<SoundEffect>("Sonidos/boom sound");

Ahora que ya tenemos el sonido cargado, vamos a crear su instancia de esta forma:

explosion = exp.CreateInstance();

 

De esta forma, en lugar de reproducir el sonido, lo que vamos a hacer es reproducir la instancia del sonido.

explosion.Play();

 

Ahora, nuestra variable “explosion” no es un sonido, sino una instancia a un sonido. De esta forma disponemos de mayor control sobre la reproducción del sonido, pudiendo pararlo a nuestro antojo sin necesidad de esperar a que el sonido acabe con:

explosion.Stop();

Fácil, verdad?

Anuncios

One Comment

  1. Nahuel / May 21 2011 7:10 pm

    Me vino muy bien esta explicacion que no sabia como inicializar una SoundEffectInstance.
    Muchas gracias!

Los comentarios están cerrados.

A %d blogueros les gusta esto: