Paso 6: Agregar un SoundPlayer

A continuación, vamos a agregar sonido al juego del laberinto.Debe sonar un sonido cuando el usuario toque un muro y el programa lo envíe de regreso a la salida, y otro sonido distinto cuando el usuario gane.En este paso, agregará el sonido que sonará cuando el puntero del mouse toque un muro.Aunque puede parecer complicado, solo se necesitan unas líneas de código.

vínculo a vídeoPara obtener una versión en vídeo de este tema, vea tutorial 2: Crear un Laberinto en Visual Basic - vídeo 4 o tutorial 2: Crear un Laberinto en C# - vídeo 4.

Para agregar un SoundPlayer que haga ruido

  1. Para empezar, agregue un control SoundPlayer al código del formulario, justo antes del constructor.

    Public Class Form1
    
        ' This SoundPlayer plays a sound whenever the player hits a wall.
        Private startSoundPlayer = New System.Media.SoundPlayer("C:\Windows\Media\chord.wav")
    
        Public Sub New()
            ' This call is required by Windows Forms Designer.
            InitializeComponent()
            ' Add any initialization after the InitializeComponent() call.
            MoveToStart()
        End Sub
    
    public partial class Form1 : Form
    {
        // This SoundPlayer plays a sound whenever the player hits a wall.
        System.Media.SoundPlayer startSoundPlayer = new System.Media.SoundPlayer(@"C:\Windows\Media\chord.wav");
    
        public Form1()
        {
            InitializeComponent();
            MoveToStart();
        }
    

    [!NOTA]

    La primera línea (public partial class Form1 : Form) ha aparecido ya varias veces.Es importante, porque incluye la palabra clave de clase.La palabra clave de clase aparece muchas veces, porque una clase es un bloque de creación básico de cualquier programa.

  2. Anteriormente, ha situado el puntero del mouse sobre la palabra MessageBox de la instrucción MessageBox.Show("Congratulations!");, para que el IDE abriese una información sobre herramientas.Hágalo de nuevo, pero fíjese con más atención en la primera línea, que se muestra a continuación.

    Tooltip

    Tooltip

    [!NOTA]

    La palabra clave de clase aparece en la primera línea.Aparece con frecuencia porque el código está organizado en clases, como sigue: el programa tiene clases, cada clase tiene métodos y cada método tiene instrucciones.Hay numerosas clases integradas, como MessageBox.La clase MessageBox tiene un método denominado Show(). Cuando se le llama, ejecuta instrucciones que abren un cuadro de mensaje.También ha trabajado con las clases Button, Panel y Label.Al establecer sus propiedades, trabajó con otro aspecto de las clases: una clase puede tener propiedades además de métodos. Al establecer esas propiedades, podemos hacer que la clase ejecute instrucciones que cambian el comportamiento.

    Como habrá supuesto, SoundPlayer es una clase que reproduce un sonido.Al crear un SoundPlayer con la palabra clave new, este carga un sonido de un archivo, que puede reproducir mediante su método Play().Vamos a utilizar este SoundPlayer para reproducir el sonido Chord de Windows cuando el jugador inicie un nuevo juego, o cuando el puntero toque un muro y el jugador tenga que volver a empezar.(Por eso se denomina startSoundPlayer.)

  3. Si desea utilizar otros sonidos diferentes, reemplace la ruta de acceso que figura entre las comillas de la nueva instrucción (C:\Windows\Media\chord.wav) por la ruta de acceso del archivo de sonido que desea utilizar.

    Al compilar un formulario en el Diseñador de Windows Forms, utiliza el IDE para ayudarle a crear su propia clase, en este caso, una clase denominada Form1.Cuando agregó esa línea de código encima del constructor, agregó un nuevo SoundPlayer al formulario, exactamente igual que antes había agregado un botón o una etiqueta.La instrucción se encuentra fuera de los métodos, para que más de un método pueda tener acceso al SoundPlayer.Por ese motivo, ha tenido que colocar la nueva instrucción dentro del código del formulario pero fuera de sus métodos.Lo hemos denominado startSoundPlayer, de la misma manera que hemos denominado finishLabel uno de los controles Label.

    Después de agregar la instrucción para crear un nuevo SoundPlayer y denominarlo startSoundPlayer, aparece en la ventana IntelliSense, exactamente igual que las etiquetas, los botones y otros controles.

    Puede que parezca complicado, pero es similar a lo que hemos hecho previamente en el IDE.Por ejemplo, cuando utilizamos el Cuadro de herramientas del IDE para agregar un botón o una etiqueta al formulario, el IDE agrega automáticamente líneas de código que se utilizan para crear un nuevo botón o una nueva etiqueta.Ahora hará lo mismo, salvo que esta vez creará un SoundPlayer.(El segundo SoundPlayer se crea en el paso siguiente del tutorial.)

Para continuar o revisar