c#获取server 2008 R2 的媒体文件播放时长

fengylm 2014-07-11 09:39:19
如题,我在win7 64位中可以通过Shell32.Shell这个类获取到比如wmv文件的播放时长,
具体代码如下

string len="";
string[] str = new string[0];
int sum = 0;
try
{
Shell32.Shell shell = new Shell32.Shell();
//文件路径
Shell32.Folder folder = shell.NameSpace(path.Substring(0, path.LastIndexOf("\\")));
//文件名称
Shell32.FolderItem folderitem = folder.ParseName(path.Substring(path.LastIndexOf("\\") + 1));

if (Environment.OSVersion.Version.Major >= 6)
{
len = folder.GetDetailsOf(folderitem, 27);
}
else
{
len = folder.GetDetailsOf(folderitem, 21);
}

str = len.Split(new char[] { ':' });

sum = int.Parse(str[0]) * 60 * 60 + int.Parse(str[1]) * 60 + int.Parse(str[2]);

return sum;
}
catch (Exception ex)
{
return 0;
}

但是同样的代码放到server 2008 R2 64位的服务器上就不到播放时长,我在文件夹的文件明细列表中查看持续时长信息也是空白

请知道的人帮忙解惑~在线等待,谢谢
...全文
78 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

111,092

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧