Ich versuche, den Titel einer MP3 zu bekommen, die in den Eigenschaften ist. Zum Beispiel lautet der Dateiname "iasn_E_052", aber der Titel lautet "Guard Your Heart". Den Dateinamen zu bekommen ist einfach, aber der Songtitel ist ich weiß nicht wie. Ich benutze vb.net Visual Studio 2013.MP3 Titel in VB.net
-2
A
Antwort
0
Metadaten wie Titel oder Künstler wird als ID3 in der Datei gespeichert. Sie müssen die Datei byteweise lesen und die spezifischen Bytes in eine Zeichenfolge konvertieren.
Zum Beispiel ist das ID3v1-Tag in den letzten 128 Bytes der Datei gespeichert. Die ersten drei Bytes sind "TAG" und die nächsten 30 Bytes sind der Titel.
Option Strict On
Imports System.IO
Class MP3Tags
Sub GetTitle(filename As String)
Dim buffer(30) As Byte
Dim reader As New FileStream(filename, FileMode.Open, FileAccess.Read)
Dim length = reader.Length
If (length > 128) Then
reader.Seek(-128, SeekOrigin.End)
reader.Read(buffer, 0, 3)
Dim tag As String = System.Text.Encoding.ASCII.GetChars(buffer, 0, 3)
If (tag = "TAG") Then
reader.Read(buffer, 0, 30)
Dim title As String = System.Text.Encoding.ASCII.GetChars(buffer, 0, 30)
Console.WriteLine("Title = " + title)
Else
Console.WriteLine("File doesn't contain ID3v1 tags")
End If
Else
Console.WriteLine("File is too short to have tags")
End If
End Sub
End Class
(basierend auf dieser class)