Zum Inhalt springen
Der Guide für ein smartes Leben.
Klang auf Knopfdruck

Automatisches Abspielen

Autoren: Redaktion pcmagazin und Peter Schnoor • 10.9.2009 • ca. 3:00 Min

Automatisches Abspielen Bisher spielt der MP3 Player die Musikstücke noch nicht automatisch nacheinander ab. Damit auch das gelingt, brauchen Sie eine weitere Prozedur. Das Programm muss feststellen, wann das Abspielen einer Datei beendet ist. Aktivieren Sie im Formular das Steuerelement AxWin...

Automatisches Abspielen

Bisher spielt der MP3 Player die Musikstücke noch nicht automatisch nacheinander ab. Damit auch das gelingt, brauchen Sie eine weitere Prozedur. Das Programm muss feststellen, wann das Abspielen einer Datei beendet ist.

Aktivieren Sie im Formular das Steuerelement AxWindowsMediaPlayer1. Im Eigenschaftsfenster aktivieren Sie das Symbol Ereignisse. Suchen Sie dann den Eintrag StatusChange aus und klicken Sie doppelt darauf, was Sie wieder in den Programmcode führt.

Hier sollten Sie den Status des Window Media Players abfragen. Sobald die WMP Bibliothek meldet, dass der Status des Players auf Ende steht, wird durch Indexerhöhung die nächste Datei ausgewählt. Danach folgt ein Sprungbefehl, der die Prozedur Play aufruft. Und schon wird automatisch die nächste Datei abgespielt. Geben Sie dazu diesen Code ein:

Jetzt bestücken Sie noch die Schaltfläche für das Programmende. Also geht es zunächst zurück ins Formular. Dort klicken Sie doppelt auf btn8 (Beenden) und geben End ein. Danach speichern Sie das komplette Projekt mit Datei - Alle Speichern. Jetzt testen Sie den MP3 Player aus und passen ihn bei Bedarf an Ihre persönlichen Wünsche an.

Erweiterte Abspielformate und Fazit

Wenn Sie sich nicht auf MP3-Dateien beschränken wollen, erweitern Sie die Abspielformate. Diese Erweiterung lässt sich für jedes Format einzeln vornehmen, oder Sie lassen einfach alle Dateiformate zu, die sich auf Ihren Medien befinden. Aktivieren Sie dazu den Import-Dialog in der Windows-Form.

Gehen Sie in den Eigenschaften auf den Eintrag Filter. Erweitern Sie den Eintrag um Alle Dateien mit der Endung *.*. Probieren Sie mal, was der Player mit dem Filtereintrag MP3 Musik|*.mp3|Alle Dateien|*.* alles abspielen kann. Viel Spaß dabei. Die Funktion der Schaltflächen lässt sich vergleichsweise einfach programmieren, kniffliger ist es, Tags und Zeitleiste darzustellen. Doch damit haben Sie mit VB und den richtigen Steuerelementen schnell Ihren eigenen Musikplayer gewonnen. Das Design gestalten Sie mit VB nach Ihren Wünschen.

Tags, Lautstärkeregelung und Fortschrittsbalken

Eigenen MP3 Player mit VB8 Exprpressss entwickeln
Fertig: Der MP3-Player kann sich mit Lautstärkeregelung, Fortschrittsbalken und Anzeige der MP3-Tags sehen lassen.
© Archiv

Statt nur Dateinamen zu sehen, lesen Sie bei den meisten MP3-Dateien zusätzliche Informationen über den Künstler, das Album und das Musikstück aus. Am Ende der MP3-Datei befindet sich ein 128 Bytes großen ID3v2-Tag.

Dieses Tag beginnt mit dem Wort TAG und enthält Informationen im ASCII-Format. Sie wandeln diese Daten mit dem Encoding-Objekt, das von der System.Text.Encoding.ASCII-Eigenschaft zurückgegeben wird, in eine Zeichenfolge um. Um an die Meta-Daten zu einem MP3-File heranzukommen, müssen Sie als Erstes wissen, wo diese abgelegt sind. So sieht die Reihenfolge der Daten aus:

Song title = 30 ZeichenArtist = 30 ZeichenAlbum = 30 ZeichenYear = 4 ZeichenComment = 30 ZeichenGenre = 1 Byte

Zum Auslesen der Daten schreiben Sie die eigene Klasse MP3TagData, womit Sie auf MP3-Metadaten zugreifen. Eine ReadFromFile-Methode liest die Informationen aus. Diese werden am Beispiel des Titels folgendermaßen festgelegt:

PropertySie ergänzen die Eigenschaften noch um Artist, Album und Year. Nach Festlegung der benötigten Eigenschaften werden diese auf einen leeren Wert gesetzt und dann ausgelesen, wie Sie dies in Form1.vb (Heft-DVD) verfolgen:

Public ReadOnly Property SongTitle() As String Get Return _SongTitle End Get End Property

Störende Leerstellen filtern Sie noch mit Private Function GetTagData(ByVal stream As Stream, ...) aus, um danach die neue Klasse zu beenden. Um die Daten anzuzeigen, schreiben Sie in der Form-Klasse die neue Prozedur Sub MP3TagHandeln(). Abschließend legen Sie in die Prozeduren für das Abspielen und das Springen zu Dateien einen Sprungbefehl auf die MP3TagHandeln-Prozedur. Jetzt werden in der Textbox die gewünschten MP3-Informationen angezeigt.

Lautstärke und Fortschrittsbalken

Zum Einstellen der Lautstärke erstellen Sie zwei neue Schaltflächen und belegen diese mit dem Code laut Listing Private Sub BtnVolMin_Click(ByVal sender As System. Object, ....).

Um den Zeitverlauf der Musikstücke zu sehen, legen Sie aus der Toolbar eine ProgressBar an. Außerdem brauchen Sie einen zweiten Timer, den Sie aktivieren und auf einen Intervall von 100 einstellen.

Das Tick Ereignis programmieren Sie so, um zunächst zu prüfen, ob eine Datei abgespielt wird. Wenn das der Fall ist, wird die Gesamtdauer und die aktuelle Position ausgelesen, berechnet und in der ProgressBar angezeigt. Im Programm finden Sie dies ab dem Eintrag Private Sub Timer2_Tick(ByVal sender As System.Object, ....