Win10音乐库中显示的条目包括文件名、参与创作的艺术家、专辑名称、曲目编号和歌曲标题。我知道如何在Visual Basic中使用directory.getfiles方法获取文件名。有没有办法也以编程方式获取其他字段?
发布于 2021-05-02 06:12:57
这可以通过在项目引用的COM选项卡中添加对"Microsoft Shell Controls and Automation“的引用来完成。
添加引用后,您将能够实例化Shell对象
Dim info As List(Of String) = New List(Of String)
Dim shell As Shell32.Shell = New Shell32.Shell()
' Path to the MyMusic folder
Dim musicPath = Environment.GetFolderPath(Environment.SpecialFolder.MyMusic)
Dim musicFolder As Shell32.Folder = shell.NameSpace(musicPath)此时,您将能够查询该文件夹中的每个项目并请求其扩展属性
For Each item As Shell32.FolderItem2 In musicFolder.Items()
' Title
Console.WriteLine($"Title: {musicFolder.GetDetailsOf(item, 21)}")
' Author
Console.WriteLine($"Author: {musicFolder.GetDetailsOf(item, 20)}")
' Album
Console.WriteLine($"Album: {musicFolder.GetDetailsOf(item, 14)}")
' Artist
Console.WriteLine($"Part.: {musicFolder.GetDetailsOf(item, 13)}")
' Track
Console.WriteLine($"Track.: {musicFolder.GetDetailsOf(item, 26)}")
' Duration
Console.WriteLine($"Length: {musicFolder.GetDetailsOf(item, 27)}")
' Bits
Console.WriteLine($"Bits: {musicFolder.GetDetailsOf(item, 28)}")
Console.WriteLine()
Next要了解对GetDetailsOf调用中这些神奇数字的描述,可以看一下这个问题:What options are available for Shell32.Folder.GetDetailsOf
https://stackoverflow.com/questions/67350961
复制相似问题