陈程的技术博客

  • 关于作者
全栈软件工程师
一个专注于技术研究创新的程序员
  1. 首页
  2. .NET
  3. 正文

C#获取音乐相关信息和相关问题解决

2017年11月15日 760点热度 0人点赞 0条评论

如图。

winform中需要获取音乐的相关信息,使用系统的shell32.dll这个dll库,开始的时候作者直接引用了系统自带的这个库,结果报错 一直不能解决,“System.InvalidCastException:“无法将类型为“System.__ComObject”的 COM 对象强制转换为接口类型“Shell32.Shell”。” 后来查过资料发现,是因为

系统自带的shell32.dll这个库是1.0版本的 太落后了,自己又到网上下了个1.2版本的,提供在这里给大家下载。

Interop.Shell32.rar

下面步骤如下:

1.引用下载好的shell32.dll。

2.代码如下:

public void GetMusicInfo(string path)
     {
        // string[] Info = new string[7];
         Shell32.Shell sh = new Shell();
         Folder dir = sh.NameSpace(System.IO.Path.GetDirectoryName(path));
         FolderItem item = dir.ParseName(System.IO.Path.GetFileName(path));
         //Info[0] = "歌曲名:" + dir.GetDetailsOf(item, 21);   // MP3 歌曲名
         //Info[1] = "艺术家:" + dir.GetDetailsOf(item, 20);  //Authors
         //Info[2] = "专  辑:" + dir.GetDetailsOf(item, 14);  // MP3 专辑
         //Info[3] = dir.GetDetailsOf(item, 27);  // 获取歌曲时长
         //Info[3] = "时  长:" + Info[3].Substring(Info[3].IndexOf(":") + 1);
         //Info[4] = "类  型:" + dir.GetDetailsOf(item, 9);
         //Info[5] = "比特率:" + dir.GetDetailsOf(item, 22);
         //Info[6] = "备  注:" + dir.GetDetailsOf(item, 24);

         textEdit_Name.Text = dir.GetDetailsOf(item, 21);
         textEdit_Singer.Text = dir.GetDetailsOf(item, 20);
         textEdit_TimeLong.Text = dir.GetDetailsOf(item, 27);
         FileInfo fileInfo = new FileInfo(path);
         textEdit_Size.Text = fileInfo.Length.ToString();
         textEdit_Format.Text = fileInfo.Extension;


     }

 

标签: C# winform
最后更新:2021年4月2日

博主

全栈工程师,侧重项目技术解决方案规划和开发

打赏 点赞
< 上一篇
下一篇 >

文章评论

取消回复

分类
  • .NET (65)
  • docker (3)
  • linux (12)
  • python (20)
  • web (14)
  • 小程序 (4)
  • 数据库 (2)
  • 未分类 (4)
  • 杂七杂八 (10)
标签聚合
nginx linux python centos DevExpress winform js C#
最新 热点 随机
最新 热点 随机
.NET开发手册标准参考 招募兼职前端开发 Centos安装dotnet6环境 VS上切换分支,vs编译运行出现bug,A fatal error was encountered彻底解决方案 用C#封装一个线程安全的缓存器,达到目标定时定量更新入库 C#通过特性的方式去校验指定数据是否为空
xml序列化和反序列化代码 DevExpress控件-GridControl控件中添加一列复选框并进行相关操作 centos安装pip工具 nginx配置命令 招募兼职前端开发 python快速把office文档execl或者word等转成pdf

COPYRIGHT © 2021 陈程的技术博客. ALL RIGHTS RESERVED.

THEME KRATOS MADE BY VTROIS