Prozeduren für Abspiellisten
- Visual Basic: Eigenen MP3 Player mit VB8 Express entwickeln
- Abspielsteuerelement
- Prozeduren für Abspiellisten
- Automatisches Abspielen
Prozeduren für die Abspielliste Wechseln Sie in die Formularansicht zurück. Klicken Sie doppelt auf die Schaltfläche btn3 (Play), um die dazugehörige Codeansicht einzublenden. Bevor Sie den Code für die Play-Schaltfläche schreiben, legen Sie eine globale Variable an. Diese soll feststellen, ...
Prozeduren für die Abspielliste
Wechseln Sie in die Formularansicht zurück. Klicken Sie doppelt auf die Schaltfläche btn3 (Play), um die dazugehörige Codeansicht einzublenden. Bevor Sie den Code für die Play-Schaltfläche schreiben, legen Sie eine globale Variable an. Diese soll feststellen, ob der Anwender auf die Pause- Schaltfläche geklickt hat.
Dann muss per Klick auf Play ein Befehl zum Weiterspielen ab der Pause greifen. Klicken Sie in Ihrem Programmcode direkt unterhalb von Public Class Form 1 und tippen Sie dort Public P As Byte = 0 ein. Dadurch wird die Variable P mit dem Wert 0 vorbelegt.
Jetzt geht es zurück in das btn3_click-Programm. Zunächst soll das Programm feststellen, ob Daten in der Abspielliste vorhanden sind, was der Befehl Items.Count leistet. Nur wenn Daten in der Abspielliste vorhanden sind, darf die Prozedur weiterarbeiten. Wenn der Anwender in der Liste keine Daten ausgewählt hat, wird automatisch das erste Stück aktiviert (SelectedIndex=0). Danach schreibt das Programm den Pfad und den Titel des ausgewählten Stückes in die TextBox1.
Der nächste Abschnitt des Codes fragt ab, ob der Anwender die Pause-Schaltfläche betätigt hat. Ist das der Fall, wird die globale Variable P auf den Wert 1 gesetzt. Dann sorgt das Windows Media Control dafür, dass die Datei ab der Pausefunktion weitergespielt wird. Anschließend wird die Variable P wieder auf 0 gesetzt. Wenn die Variable für Pause nicht gesetzt war, wird der Timer aktiviert.
Dim AnzLieder As Integer =
Abspielliste.Items.Count If Abspielliste.Items.Count > 0 Then If Abspielliste.SelectedItem
= "" Then Abspielliste.SelectedIndex = 0 End If
End If
Me.TextBox1.Text =
Abspielliste.SelectedItem If P = 1 Then AxWindowsMediaPlayer1.Ctlcontrols. play() P = 0 Else Timer1.Enabled = True End If
Timer als Abspieltrigger
Der Timer spielt nach einer Verzögerung von 250 Millisekunden eine Datei ab. Dazu wird die markierte Datei als Adresse (URL) an den Windows Media Player übergeben. Anschließend wird der Timer wieder ausgeschaltet. Markieren Sie den Timer im Windows-Formular. Klicken Sie im Fenster Eigenschaften auf das Symbol Ereignisse. Klicken Sie doppelt auf den Eintrag Tick und ergänzen Sie den Code:
AxWindowsMediaPlayer1.URL =
Abspielliste.SelectedItem Timer1.Enabled = False
Anschließend wechseln Sie in die Formularansicht, klicken doppelt auf die Schaltfläche btn2 (Stop) und geben dann den Code AxWindowsMediaPlayer1.Ctlcontrols.stop() ein. Jetzt folgt wieder ein Wechsel zurück ins Formular und ein doppelter Klick auf die Schaltfläche btn6 (Pause). Der Code für diese Prozedur stellt zunächst die globale Variable P auf den Wert 1 und setzt dann den Abspielmodus auf Pause:
P = 1AxWindowsMediaPlayer1.Ctlcontrols.pause()
Damit haben Sie die Schaltfächen für das Abspielen von Dateien fertig programmiert. Es fehlen noch die Schaltfächen, um ausgewählte Dateien in der Abspielliste zu wechseln. Aktivieren Sie dazu das Formular und klicken Sie doppelt auf btn4 ( >> ). Der folgende Code überprüft zunächst, ob Dateien in der Abspielliste vorhanden sind. Danach wird geprüft, ob noch eine weitere Markierung folgen könnte oder bereits die letzte Datei markiert ist. Stimmt alles, erhöht sich der Index um den Wert eins. Das heißt, die nächste Datei wird markiert und gespielt.
If Abspielliste.Items.Count > 0 Then If Abspielliste.Items.Count < Abspielliste.
Items.Count Then Abspielliste.SelectedIndex = Abspielliste.SelectedIndex + 1 AxWindowsMediaPlayer1.URL = Abspielliste.SelectedItem End If End If
Jetzt aktivieren Sie wieder das Formular und klicken doppelt auf btn1 (" << "). Die Logik entspricht der vorherigen Prozedur. Nur reduziert jetzt jedes Betätigen der Schaltfäche den Index um den Wert eins:
If Abspielliste.Items.Count > 0 Then If Abspielliste.SelectedIndex > 0 Then Abspielliste.SelectedIndex = Abspielliste.SelectedIndex - 1 AxWindowsMediaPlayer1.URL = Abspielliste.SelectedItem End If End If
Mit diesem Befehl gehen Sie Musikstück für Musikstück bis zur ersten Auswahl zurück, dann ist Schluss.