0

好吧,我正在制作一个简单的 winform 来创建一个包含各种歌曲路径的文本文件。这只是我一直在研究的可视化器/音频播放器的一个简单的播放列表(使用 XNA、C# 和 Bass.Net)。我想使用 TagLib 访问和显示歌曲标题、艺术家以及对播放列表进行排序。

这是我一直在使用的代码:

    private void button1_Click(object sender, EventArgs e)
    {
        selectPlaylist.ShowDialog();
        string filePath = string.Empty;
        if (selectPlaylist.FileName.EndsWith(".txt"))
        {
            StreamReader fInput = new StreamReader(selectPlaylist.FileName);
            playlistName = fInput.ReadLine();
            playlistNameTextBox.Text = playlistName;
            while (!fInput.EndOfStream)
            {
                filePath = fInput.ReadLine();
                if (!filePath.Contains(":\\")) continue;                   
                songInfo.Add(TagLib.File.Create(filePath).Tag); //List<TagLib.Tag>
                songs.Add(filePath); //List<string>
            }
            songNamesComboBox.DataSource = songs;
            fInput.Close();
            fInput = null; //don't even know if I need this
        }
    }

无论我使用什么文件,所有标签属性/属性都是空的。我创建了一个控制台应用程序并做了同样的事情(创建一个文件并将其标签保存到一个变量中)并且能够正确访问标签信息。

TagLib.Tag tag = TabLib.File.Create("D:\\Music\\Electronic Music\\" +
    "Instrumental Core\\The Angels Among Demons.mp3").Tag;
Console.WriteLine(tag.Title);

我对 C# 有点陌生,但我不知道我做错了什么。为什么后者(控制台应用程序)可以工作,但我的 winform 不行?

4

0 回答 0