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