MP3-Dateien sind schon fast gar nicht mehr wegzudenken - lassen sich doch so fast 200 Songs auf einer normalen CD brennen. Jede MP3-Datei enthält hierbei Informationen über den Interpret, Erscheinungsjahr, Titel und einiges mehr. Erstellen Sie ein neues Windows-Forms Projekt, platzieren auf die Form ein TextBox-Control (txtFile), ein Button (Button1), sowie ein ListBox-Control (ListBox1) und fügen nachfolgenden Code ein: Public Class Form1 ' Daten-Struktur der MP3-Informationen Private Structure MP3Info Dim Titel As String Dim Interpret As String Dim Album As String Dim Jahr As String Dim Kommentar As String Dim Genre As String End Structure ''' <summary> ''' Liest den ID3V1-Tag einer MP3-Datei aus ''' </summary> ''' <param name="sFile">MP3-Dateiname</param> ''' <returns>Struktur mit den MP3-Informationen</returns> Private Function ReadMP3Info(ByVal sFile As String) As MP3Info Dim oInfo As New MP3Info ' Prüfen, ob Datei auch existiert If System.IO.File.Exists(sFile) Then Try Dim oStream As New System.IO.FileStream(sFile, IO.FileMode.Open) ' Position des MP3-Tags oStream.Seek(-128, IO.SeekOrigin.End) ' jetzt 128 Bytes lesen Dim bData(127) As Byte oStream.Read(bData, 0, 128) ' Byte in String umwandeln Dim sData As String = System.Text.Encoding.Default.GetString(bData) ' Prüfen, ob Daten mit TAG beginnen If sData.Substring(0, 3) = "TAG" Then With oInfo ' jetzt die Struktur mit den Infos füllen .Titel = StripNull(sData.Substring(3, 30)) .Interpret = StripNull(sData.Substring(33, 30)) .Album = StripNull(sData.Substring(63, 30)) .Jahr = StripNull(sData.Substring(93, 4)) .Kommentar = StripNull(sData.Substring(97, 30)) .Genre = StripNull(sData.Substring(127, 1)) End With End If oStream.Close() Catch ex As Exception End Try End If ' Rückgabewert: MP3Info Return (oInfo) End Function ' Sucht nach dem ersten Null-Zeichen und gibt den linken Teil ' des Strings zurück Private Function StripNull(ByVal sData As String) As String Dim nPos As Integer = sData.IndexOf(Chr(0)) If nPos >= 0 Then Return sData.Substring(0, nPos).TrimEnd Else Return sData.TrimEnd End If End Function ' MP3-Info lesen und anzeigen Private Sub ShowMP3Infos(ByVal sFile As String) Dim oInfo As MP3Info = ReadMP3Info(sFile) With ListBox1.Items .Clear() .Add("Titel: " & oInfo.Titel) .Add("Interpret: " & oInfo.Interpret) .Add("Album: " & oInfo.Album) .Add("Jahr: " & oInfo.Jahr) .Add("Kommentar: " & oInfo.Kommentar) .Add("Genre: " & oInfo.Genre) End With End Sub Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click ' Datei auswählen With New OpenFileDialog .Filter = "MP3-Datei (*.mp3)|*.mp3" .FileName = txtFile.Text If .ShowDialog() = Windows.Forms.DialogResult.OK Then txtFile.Text = .FileName ShowMP3Infos(txtFile.Text) End If End With End Sub End Class Beim Klick auf den Button wird der Standard-Dialog zur Auswahl einer MP3-Datei aufgerufen. Nach Übernahme der Datei werden die MP3-Informationen im ListBox-Control angezeigt. Dieser Tipp wurde bereits 22.815 mal aufgerufen. Voriger Tipp | Zufälliger Tipp | Nächster Tipp
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv Vol.6 (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. |
sevISDN 1.0 Überwachung aller eingehender Anrufe! Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Tipp des Monats März 2024 Dieter Otter UTF-8 Konvertierung von Dateien und Strings VB6 selbst verfügt über keine Funktionen zur UTF-8 Konvertierung von Daten. Mit Hilfe des ADODB.Stream-Objekts lassen sich diese fehlenden Funktionen aber schnell nachrüsten. sevZIP40 Pro DLL Zippen und Unzippen wie die Profis! Mit nur wenigen Zeilen Code statten Sie Ihre Anwendungen ab sofort mit schnellen Zip- und Unzip-Funktionen aus. Hierbei lassen sich entweder einzelnen Dateien oder auch gesamte Ordner zippen bzw. entpacken. |
||||||||||||||||
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. |