Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VB.net中的MP3标题_Vb.net_Mp3 - Fatal编程技术网

VB.net中的MP3标题

VB.net中的MP3标题,vb.net,mp3,Vb.net,Mp3,我正在尝试获取属性中的MP3的标题。例如,文件名是iasn_E_052,但歌曲标题是Guard Your Heart。获得文件名很容易,但歌曲标题是我不知道如何。我正在使用vb.net visual studio 2013。像标题或艺术家这样的元数据存储在文件中。 您需要按字节读取文件,并将特定字节转换为字符串。 例如,ID3v1标记存储在文件的最后128个字节中。前三个字节是标签,后30个字节是标题 Option Strict On Imports System.IO Class MP3Ta

我正在尝试获取属性中的MP3的标题。例如,文件名是iasn_E_052,但歌曲标题是Guard Your Heart。获得文件名很容易,但歌曲标题是我不知道如何。我正在使用vb.net visual studio 2013。

像标题或艺术家这样的元数据存储在文件中。 您需要按字节读取文件,并将特定字节转换为字符串。 例如,ID3v1标记存储在文件的最后128个字节中。前三个字节是标签,后30个字节是标题

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
基于此,