Hi,
ich bin gerade dabei ein Programm zu schreiben, dass ID3-Tags aus einer MP3-Datei liest.
Mein bisheriger Code der Funktion ReadMP3Info:
Shared Function ReadMP3Info(ByVal sFile As String) As MP3Info
Dim oInfo As New MP3Info
'Prüfen, ob Datei existiert
If IO.File.Exists(sFile) Then
Try
Dim fs As New IO.FileStream(sFile, IO.FileMode.Open)
'Position des MP3-Tags
fs.Seek(-128, IO.SeekOrigin.End)
'jetzt 128 Bytes lesen
Dim bData(127) As Byte
fs.Read(bData, 0, 128)
'Byte in String umwandeln
Dim sData As String = 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 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
fs.Close()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End If
Return (oInfo)
End Function
Public 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 Sooo. Jeztt möchte ich aber nicht nur Titel, Interpret, Album, Jahr, Kommentar und Genre auslesen können, sonder auch noch so sachen, wie z.B. Track(Titelnummer), CDNummer etc.
Meine eigentlich Frage:
bei welchem Char muss ich anfangen, zu lesen und wie weit muss ich lesen, um die Sachen wie Track und CDNummer auslesen zu können?? Gibts da vlt im Internet ne Auflistung oder so?
Quelle des meisten Codes: http://www.vbarchiv.net/tipps/tipp_1760.html
_______________________________________________________________________
Heute stehen wir am Abgrund. Morgen sind wir schon einen Schritt weiter.
iComputerfreak
Beitrag wurde zuletzt am 28.02.13 um 22:43:41 editiert. |