首页 > 解决方案 > 如何从 OpenFileDialog 获取专辑、艺术家等

问题描述

我基本上是在 vb.net 中制作一个音频播放器,用户可以在其中使用 openfiledialog 上传文件,然后稍后播放。我想从我上传的歌曲中收集一些元数据,例如要显示的专辑和艺术家。

我环顾四周,但似乎无法找到有关此问题的任何信息,如果有人有任何想法,将不胜感激。

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button_Upload.Click
    OpenFileDialog1.InitialDirectory = "C:\"
    OpenFileDialog1.Title = "Upload A Song"
    OpenFileDialog1.Filter = "Audio Files|*.mp3; *.wav"
    OpenFileDialog1.Multiselect = False




    If OpenFileDialog1.ShowDialog = DialogResult.OK Then

        Dim Upload_Path As String = IO.Path.Combine(Application.StartupPath, "Resources")

        If IO.Directory.Exists(Upload_Path) Then

            IO.File.Copy(OpenFileDialog1.FileName, IO.Path.Combine(Upload_Path, IO.Path.GetFileName(OpenFileDialog1.FileName)))
        Else
            System.IO.Directory.CreateDirectory(Upload_Path)
            IO.File.Copy(OpenFileDialog1.FileName, IO.Path.Combine(Upload_Path, IO.Path.GetFileName(OpenFileDialog1.FileName)))
        End If


    Else
        MsgBox("Invalid Selection")
    End If

End Sub

标签: vb.net

解决方案


查看taglib-sharp。它支持从多种格式读取信息。

Dim tfile = TagLib.File.Create("C:\My audio.mp3");
Dim title As String = tfile.Tag.Title;
Dim duration As TimeSpan = tfile.Properties.Duration;
Console.WriteLine("Title: {0}, duration: {1}", title, duration);

推荐阅读