Abspielsteuerelement
Abspielsteuerelement und Abspielliste Jetzt benötigen Sie ein Element, welches die MP3-Dateien abspielt. Hierzu setzen Sie das Steuerelement Com (Component Object Model) ein, das Multimediadaten bestens abspielt. Es ist der Windows Media Player. Leider ist dieses Steuerelement nicht standardmäß...
Abspielsteuerelement und Abspielliste
Jetzt benötigen Sie ein Element, welches die MP3-Dateien abspielt. Hierzu setzen Sie das Steuerelement Com (Component Object Model) ein, das Multimediadaten bestens abspielt. Es ist der Windows Media Player. Leider ist dieses Steuerelement nicht standardmäßig in Visual Basic hinterlegt.
Aber das ändern Sie mit ein wenig Handarbeit: Klicken Sie mit der rechten Maustaste auf die Toolbox und wählen Sie im dann eingeblendeten Untermenü den Befehl Elemente Auswählen aus. Damit blendet sich das Dialogfenster "Toolboxelemente auswählen" ein. Aktivieren Sie in diesem Dialogfenster das Registerblatt Com-Steuerelemente.
Wählen Sie jetzt das Steuerelement Windows Media Player aus und übernehmen Sie es mit einem Klick auf OK in die Toolbox. Nachdem Sie dieses Steuerelement erfolgreich in der Toolbox hinterlegt haben, ziehen Sie es in das Formular.
Damit stehen Ihnen alle Befehle dieses Steuerelements zur Verfügung. Im Programmiercode rufen Sie es mit dem Befehl AxWindowsMediaPlayer1 auf. Damit dieses Steuerelement nicht auf dem Formular stört, verbergen Sie es, indem Sie die Eigenschaft Visible des AxWindowsMediaPlayer1 auf den Wert False einstellen.
Um Dateien von einem Medium auszuwählen und in die Abspielliste zu stellen, verwenden Sie den OpenFileDialog von VB. Diesen finden Sie in der Toolbox im Bereich Dialogfelder. Sobald Sie dieses Dialogfeld in Ihr Formular ziehen, wird es im unteren Bereich des Formulars abgelegt. Er ist also im Formular selbst nicht sichtbar. Ändern Sie die Eigenschaft Name dieses Dialogfensters in ImportDialog um.
Stellen Sie anschließend die Eigenschaft Multiselect auf den Wert True ein. Dadurch legen Sie fest, dass sich mehrere Dateien im Dialogfenster auswählen lassen. In die Eigenschaft Filter: geben Sie ein: MP3Musik |*.mp3 ein. Als letztes Steuerelement folgt ein Timer. Diesen finden Sie im Bereich Komponenten der Toolbox.
Auch den Timer legen Sie im nicht sichtbaren Teil des Formulars ab. Der Timer dient dazu, die Inhalte Ihrer Abspielliste nacheinander abzuspielen. Dadurch bleibt dem Steuerelement Windows Media Player Zeit genug, die internen Playerzustände abzufragen und alle Lieder nacheinander abzuspielen. Stellen Sie für den Timer1 die Eigenschaften Enabled=False und Interval=250 ein. Weil Sie das Intervall in Millisekunden eingeben, erhält der MP3-Player also 250 Millisekunden. Damit sind alle Komponenten vorhanden, die der MP3-Player braucht. Jetzt codieren Sie das Programm.
Datenübernahme für die Abspielliste
Bevor der Player etwas spielt, füllen Sie die Abspielliste. Das soll über die Schaltfläche btn5 (Auswahl) geschehen, auf die Sie dazu doppelt klicken. VB blendet den zugehörigen Code ein, den Sie um den Eintrag ImportDialog. ShowDialog() erweitern. Wechseln Sie in das Formular zurück. Dort aktivieren Sie das Steuerelement ImportDialog.
Klicken Sie im Fenster Eigenschaften auf das Symbol Ereignisse. Dort finden Sie das Ereignis FileOK, auf welches Sie doppelt klicken. Dadurch landen Sie im richtigen Codebereich, in dem Sie für jede ausgewählte Datei einen Eintrag in der Liste erzeugen wollen:
For Each track As
String In
ImportDialog.
FileNames Abspielliste.
Items.Add(track) Next
Diesen Code fügt jede ausgewählte Datei in Ihr Listenfeld Abspielliste ein. An dieser Stelle speichern Sie das Projekt und testen es erstmalig. Wenn alles geklappt hat, erscheint nach einem Klick auf die Schaltfläche Auswahl das dazu passende Dialogfenster mit den dort vorhandenen Titeln.
Markieren Sie die gewünschten Titel und klicken dann auf Öffnen, um die Daten in die Liste des MP3 Players zu übernehmen. Um die Abspielliste auch wieder zu löschen, gehen Sie zunächst zurück in das Formular. Klicken Sie dort doppelt auf btn7 (Löschen) und geben den Code
For Each track As String In
ImportDialog.FileNames
Abspielliste.Items.Remove(track)
Next
ein. Arbeitet auch dies korrekt, beenden Sie das Programm, um es mit den nächsten Elementen zu versehen.