私が使用しているコード...
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」として返されます。