我正在使用的代码...
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”。