Bei M3U (.m3u) handelt es sich um eine Dateierweiterung für eine "Abspielliste" von MP3 Audio-Dateien, welche von vielen Media-Player verwendet werden, u.a. auch von WinAmp. Hierbei enthält eine M3U-Datei lediglich Informationen, wo sich die MP3-Datei befindet - entweder lokal auf dem System oder auch im Internet. Das nachfolgende Beispiel zeigt, wie sich eine solche M3U-Datei auslesen lässt. Die Funktion selbst gibt die Dateinamen in einem String-Array als Rückgabewert zurück. Über den optionalen Parameter bOnlyIfExists können Sie angeben, ob hierbei nur MP3s ausgelesen werden sollen, die auch lokal auf dem System existieren. Und hier die Funktion: Public Function fGetM3u(ByVal sM3uFile As String, _ Optional ByVal bOnlyIfExist As Boolean = False) As Variant Dim F As Integer Dim sLine As String Dim nCount As Long Dim nUBound As Long Dim bResult As Boolean Dim sPlayList As Variant ' Datei auslesen nCount = -1 ReDim sPlayList(0) F = FreeFile Open sM3uFile For Input As #F While Not EOF(F) Line Input #F, sLine If Left$(sLine, 1) <> "#" Then ' Jepp, it's a Path... bResult = True If bOnlyIfExist Then ' ...prüfen, ob Datei existsiert On Error Resume Next bResult = (Dir$(sLine) <> "") If Err <> 0 Then bResult = False On Error GoTo 0 End If If bResult Then ' und ab ins Array nCount = nCount + 1 If nCount > nUBound Then nUBound = 2 * nCount ReDim Preserve sPlayList(nUBound) End If sPlayList(nCount) = sLine End If End If Wend Close #F ' Array-Größe "korrigieren" If nCount >= 0 Then ReDim Preserve sPlayList(nCount) fGetM3u = sPlayList End If End Function Beispiel für den Aufruf: Dim myList As Variant myList = fGetM3u(App.Path & "\Playlist.m3u", False) ' Alle Einträge in einer ListBox anzeigen If IsArray(myList) Then Dim i As Integer For i = 0 To UBound(myList) List1.AddItem myList(i) Next i End If Dieser Tipp wurde bereits 27.301 mal aufgerufen.
Anzeige
![]() ![]() ![]() (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
vb@rchiv CD Vol.6 ![]() ![]() Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! Online-Update-Funktion Entwickler-Vollversionen u.v.m. Tipp des Monats ![]() Manfred Bohn IndexOf für mehrdimensionale Arrays Die generische Funktion "IndexOf" ermittelt das erste Auftreten eines bestimmten Wertes in einem n-dimensionalen Array sevOutBar 4.0 ![]() Vertikale Menüleisten á la Outlook Erstellen von Outlook ähnlichen Benutzer- interfaces - mit beliebig vielen Gruppen und Symboleinträgen. Moderner OfficeXP-Style mit Farbverläufen, Balloon-Tips, u.v.m. |
||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |