首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

怎么读取wmv视频文件的总时长

2012-10-13 
如何读取wmv视频文件的总时长本以为很简单一个需求,结果百度和google都找不到,还请各位高手帮忙了。问题解

如何读取wmv视频文件的总时长
本以为很简单一个需求,结果百度和google都找不到,还请各位高手帮忙了。
问题解决立刻结贴。

[解决办法]
int MovieDuration = (int)this.axWindowsMediaPlayer1.newMedia(mediaFileName).duration; 
该方法能成功获取WMV视频的长度,但AVI就不行,得到的总是为零
[解决办法]
怎样在C#中添加AxWindowsMediaPlayer控件

在VS2005编程环境的“工具箱”中单击右键,选择“选择项”菜单,打开“选择工具箱项”窗口,选择“COM组件”标签,在列表中找到并勾选“Windows Media Player”组件,单击“确定”按钮。将该组件添加到指定的工具箱选项卡中 
然后在工具箱里面找 Windows Media Player 控件,拉到form里面,拉出来的控件就是AxWindowsMediaPlayer了,打开属性窗口,在点击拉过来的控件,可以清楚的看到控件名称为AxWindowsMediaPlayer1
[解决办法]
使用WindowsMediaPlayer,
不过,这个东西要他支持的格式才可以,比如不支持的格式,播放不了,也就取不到时长的!
[解决办法]

C# code
   ①   引用shell32底层接口c:windowssystem32shell32.dll,vs自动转换成interop.shell32.dll(注:64位系统和32位系统生成的interop.shell32.dll不一样)  ②   编码读取播放时间长度:        /// <summary>        /// 获取媒体播放时间长度,格式00:00:00。        /// </summary>        /// <param name="path">媒体路径</param>        /// <returns>播放时间长度</returns>        public static string getmediaduration(this string path)        {            try            {                shell32.shell shell = new shell32.shellclass();                shell32.folder folder = shell.namespace(path.substring(0, path.lastindexof("\")));                shell32.folderitem folderitem = folder.parsename(path.substring(path.lastindexof("\") + 1));                return folder.getdetailsof(folderitem, 21);            }            catch (exception ex)            {                ex.error();                return null;            }        }
[解决办法]
http://butlandblog.appspot.com/log-14.html

获取 FLV的

热点排行