C# 获取 mp3文件信息【包括:文件大小、歌曲长度、歌手、专辑】

本文介绍了两种使用C#获取MP3文件信息的方法,包括文件大小、歌曲时长、艺术家和专辑等关键信息。第一种方法涉及Shell32库的使用,可能需要设置Embed Interop Types属性为False来解决错误。第二种方法则是通过读取文件结构来获取信息,但代码未经验证。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C# 获取 mp3文件信息【包括:文件大小、歌曲长度、歌手、专辑】

 

第一种方式:[代码已验证]

如果报错请下载1.2版本 下载地址

https://download.youkuaiyun.com/download/u013087481/10952812

  string file = @"E:\滴答.mp3";

 

            ShellClass sh = new ShellClass();

 

            Folder dir = sh.NameSpace(Path.GetDirectoryName(file));

 

            FolderItem item = dir.ParseName(Path.GetFileName(file));

 

            string str = dir.GetDetailsOf(item, 27) ; // 获取歌曲时长。

 

            MessageBox.Show(str);

 
 

// 如果执行过程中,出现是错误提示,通过Shell32 的 Embed Interop Types 属性设置为 False 即可;

 

 

 

 shell 获取 文件详细信息

首先引用COM组件

Microsoft Shell Controls And Automation

这里需要注意

DLL的属性Embed Interop Type 设为False

否则会引起互操作类型异常

 

代码如下

ShellClass sh = new ShellClass();

Folder dir = sh.NameSpace(Path.GetDirectoryName(sFile));

FolderItem item = dir.ParseName(Path.GetFileName(sFile));

string det = dir.GetDetailsOf(item, iCol);

 

iCol 对应文件详细属性汇总

ID  => DETAIL-NAME

0   => Name

1   => Size     // MP3 文件大小

2   => Type

3   => Date modified

4   => Date created

5   => Date accessed

6   => Attributes

7   => Offline status

8   => Offline availability</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值