在看视频教程的时候,由于视频是一段一段的,持续时间长短也不同,导致学习进度安排起来有点小麻烦,于是就想自己做个统计视频持续时间的工具来辅助视频学习。
想做就做!按照我奉行的“用以致学,基础为先”的准则。首先要解决零散的基础知识点:
1、 媒体文件的持续时间如何获得?
程序的目的是将人从重复的劳动中解放出来,为使用者提供方便。于是我就想如何手动得到媒体持续时间。终于,我在avi文件的属性中找到了。既然操作系统可以获取到持续时间,那我们也就一定可以。于是,上网搜索资料,终于找到了Shell32.dll中提供的方法:
ShellClass sh = new ShellClass();
Folder dir = sh.NameSpace(Path.GetDirectoryName(FilePath)); //FilePath为文件的绝对路径
FolderItem item = dir.ParseName(Path.GetFileName(FilePath));
string stime = dir.GetDetailsOf(item, 21);
当然,我们也可以遍历得到文件的全部信息,从而做到举一反三,一通百通。
StringBuilder sb = new StringBuilder();
for (int i = -1; i < 50; i++)
{
sb.Append(i.ToString());
sb.Append(":");