2

我正在使用的代码...

For Each file As String In My.Computer.FileSystem.GetFiles(directory)
    Dim fi As FileInfo = New FileInfo(file)
    If isNotMusic(fi.Extension.ToString) = True Then Continue For 'Checks file extension for non-music files; if test is true for-loop continues with next file
    trackCounter += 1 'Adds 1 to trackCounter
    Dim song As New musicInfo

    Dim tagFile As TagLib.File = TagLib.File.Create(fi.FullName)
    infoArtist = tagFile.Tag.Performers(0)

    With song
        .track = tagFile.Tag.Track
        .title = tagFile.Tag.Title
        .artist = tagFile.Tag.Performers(0)
        .album = tagFile.Tag.Album
        .extension = fi.Extension.ToString
    End With
    songs.Add(song)
Next

当我在充满 AC/DC 歌曲的文件夹上使用此代码时,tagFile.Tag.Performers(0) 返回“AC”。

我在其他地方查找了这个问题,据我所知,只有 MpTagThat 和 MP1 等其他标记解决方案解决了这个问题并制作了补丁。

我知道 Performers 标记是一个数组,而另一半“DC”可能存储在 tagFile.Tag.Performers(1) 中。但是,我最终会用“;”分隔每个艺术家。在我的代码中,如果我保持原样,AC/DC 将返回为“AC;DC”。

4

0 回答 0