Schritt 6: Hinzufügen eines SoundPlayers

Als Nächstes fügen Sie dem Labyrinthspiel etwas Sound hinzu. Ein Sound sollte wiedergegeben werden, wenn der Benutzer eine Wand berührt und zurück an den Start geschickt wird. Ein anderer Sound sollte wiedergegeben werden, wenn der Benutzer gewinnt. In diesem Schritt fügen Sie einen Sound hinzu, der wiedergegeben wird, wenn der Mauszeiger eine Wand berührt. Obwohl es möglicherweise kompliziert scheint, sind hierzu nur einige Codezeilen erforderlich.

Link zu VideoEine Videoversion dieses Themas finden Sie unter bzw Tutorial 2: Create a Maze in Visual Basic - Video 4 Tutorial 2: Create a Maze in C# - Video 4.

So fügen Sie einen SoundPlayer für ein Geräusch hinzu

  1. Beginnen Sie, indem Sie dem Code des Formulars unmittelbar über dem Konstruktor einen SoundPlayer hinzufügen.

    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();
        }
    

    Hinweis

    Die erste Zeile (public partial class Form1 : Form) haben Sie bereits zuvor mehrmals gesehen.Sie ist wichtig, da sie das Klassenschlüsselwort enthält.Das Klassenschlüsselwort erscheint oft, da eine Klasse ein Grundbaustein aller Programme ist.

  2. Zuvor haben Sie den Mauszeiger über dem Wort "MessageBox" in der Anweisung MessageBox.Show("Congratulations!"); positioniert, damit die IDE eine QuickInfo öffnet. Machen Sie dies jetzt wieder, aber sehen Sie sich die erste Zeile genauer an, die wie folgt aussieht.

    Tooltip

    Tooltip

    Hinweis

    Das Klassenschlüsselwort wird in der ersten Zeile angezeigt.Es erscheint häufig, da der Code wie folgt in Klassen organisiert wird: Das Programm verfügt über Klassen, jede Klasse verfügt über Methoden, und jede Methode verfügt über Anweisungen.Es gibt zahlreiche integrierte Klassen, z. B. MessageBox.Die MessageBox-Klasse verfügt über eine Methode mit dem Namen Show(). Wenn diese Methode aufgerufen wird, führt sie Anweisungen aus und öffnet ein Meldungsfeld.Sie haben auch mit den Klassen Button, Label und Panel gearbeitet.Als Sie die Eigenschaften dieser Klassen festgelegt haben, haben Sie mit einem anderen Aspekt der Klassen gearbeitet: Eine Klasse kann sowohl über Eigenschaften als auch Methoden verfügen, und durch Festlegen dieser Eigenschaften wird bewirkt, dass die Klasse Anweisungen ausführt, die das Verhalten ändern.

    Wie Sie vielleicht erkennen, ist SoundPlayer eine Klasse, die einen Sound wiedergibt. Wenn Sie einen SoundPlayer mit dem new-Schlüsselwort erstellen, wird ein Sound aus einer Datei geladen, den Sie mit der Play()-Methode wiedergeben können. Sie verwenden diesen SoundPlayer, um den Windows-Akkordsound wiederzugeben, wenn der Spieler ein neues Spiel startet oder wenn der Zeiger eine Wand berührt und der Spieler neu beginnen muss. (Daher wird dies als startSoundPlayer bezeichnet.)

  3. Wenn Sie andere Sounds verwenden möchten, ersetzen Sie den Pfad zwischen den Anführungszeichen in der new-Anweisung (C:\Windows\Media\chord.wav) durch den Pfad der Audiodatei, die Sie verwenden möchten.

    Wenn Sie das Formular im Windows Forms-Designer erstellen, verwenden Sie die IDE, um eine eigene Klasse zu erstellen. In diesem Fall ist das eine Klasse mit dem Namen Form1. Als Sie diese Codezeile über dem Konstruktor eingefügt haben, haben Sie dem Formular einen neuen SoundPlayer hinzugefügt, so wie Sie zuvor eine Schaltfläche oder eine Bezeichnung hinzugefügt haben. Die Anweisung befindet sich außerhalb der Methoden, damit mehrere Methoden auf den SoundPlayer zugreifen können. Das ist der Grund, weshalb Sie die new-Anweisung im Code des Formulars, aber außerhalb der Methoden einfügen mussten. Sie haben den Namen "startSoundPlayer" zugewiesen und sind hierbei genauso vorgegangen wie zuvor, als Sie eines der Label-Steuerelemente in "finishLabel" benannt haben.

    Nachdem Sie die Anweisung hinzugefügt haben, um einen neuen SoundPlayer zu erstellen, und den Namen "startSoundPlayer" zugewiesen haben, wird der SoundPlayer genauso wie Bezeichnungen, Schaltflächen und andere Steuerelemente im IntelliSense-Fenster angezeigt.

    Dies scheint kompliziert zu sein, ist aber vergleichbar mit den Schritten, die Sie zuvor in der IDE ausgeführt haben. Wenn Sie dem Formular beispielsweise mithilfe der Toolbox der IDE eine Schaltfläche oder eine Bezeichnung hinzufügen, fügt die IDE automatisch Codezeilen hinzu, die dazu dienen, eine neue Schaltfläche oder eine neue Bezeichnung zu erstellen. Jetzt machen Sie das gleiche, außer dass Sie dieses Mal einen SoundPlayer erstellen. (Im nächsten Lernprogrammschritt wird ein zweiter SoundPlayer erstellt.)

So fahren Sie fort oder überprüfen die Angaben