获取MP3文件的总时长
请教一下大家 怎么获取MP3文件的时长
下面这个方法是不行的 shell32 这个命名空间引用不了
谢谢大家 明天来给分
/C# 获取mp3文件的歌曲时间长度
//添加命名空间:
using Shell32;
using System.Text.RegularExpressions;
//添加引用:COM组件的Microsoft Shell Controls And Automation
string dirName = Path.GetDirectoryName(SongPath);
SongName = Path.GetFileName(SongPath);//获得歌曲名称
FileInfo fInfo = new FileInfo(SongPath);
ShellClass sh = new ShellClass();
Folder dir = sh.NameSpace(dirName);
FolderItem item = dir.ParseName(SongName);
SongTime = Regex.Match(dir.GetDetailsOf(item, -1), "\\d:\\d{2}:\\d{2}").Value;//获取歌曲时间
------解决方案--------------------这里有控制mp3播放的基本方法,也包含获取总时长
------解决方案-------------------- 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);
首先引用COM组件
Microsoft Shell Controls And Automation
代码里
using Shell32;
------解决方案--------------------
可以“无满意答案结贴”的,这样就不会使用分。
楼主如果不是做winform程序,可以用Dewplayer:下载地址http://www.alsacreations.fr/dl/dewplayer.zip,官方网站:http://www.alsacreations.fr/dewplayer.html
------解决方案--------------------歌曲时长=文件大小/位率×8