• C#获取视频文件播放长度


    添加引用SHELL32.DLL

    根据网上代码改编

        public static class GetVideoLength
        {
            public static string GetMediaTimeLen(string path)
            {
                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("\\") + 2));
                    if (Environment.OSVersion.Version.Major >= 6)
                    { 
                        return folder.GetDetailsOf(folderitem, 27);
                    }
                    else 
                    { 
                        return folder.GetDetailsOf(folderitem, 21);
                    }
                }
                catch (Exception ex) { return null; }
            }
    
            public static int GetMediaTimeLenSecond(string path)
            {
                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("\\") + 2));
                    string len;
                    if (Environment.OSVersion.Version.Major >= 6)
                    {
                        len =  folder.GetDetailsOf(folderitem, 27);
                    }
                    else
                    {
                        len = folder.GetDetailsOf(folderitem, 21);                    
                    }
    
                    string[] str = len.Split(new char[] { ':' });
                    int sum = 0;
                    sum = int.Parse(str[0]) * 60 * 60 + int.Parse(str[1]) * 60 + int.Parse(str[2]);
    
                    return sum;
                }
                catch (Exception ex) { return 0; }
            }
        }
  • 相关阅读:
    2020软件工程作业02
    2020软件工程作业01
    并发编程—协程
    并发编程—线程
    并发编程—进程
    python网络编程总结
    前端-Javascript
    前端-jQuery
    前端-CSS
    前端-Html
  • 原文地址:https://www.cnblogs.com/futao/p/2528724.html
Copyright © 2020-2023  润新知