【发布时间】:2018-01-17 06:42:27
【问题描述】:
什么是最好的获取方式?
我有一个用户将上传视频的字段。
当您单击上传按钮时,视频会被上传。这很完美。
我需要物理路径的视频时长,我试过了:
using WMPLib;
WindowsMediaPlayer wmp = new WindowsMediaPlayerClass();
IWMPMedia mediaInfo = wmp.newMedia(Server.MapPath("~/Uploads/test.mp4"));
double duration = mediaInfo.duration;
但它不起作用,我收到错误:
“WMPLib.WindowsMediaPlayerClass”类型没有定义构造函数 无法嵌入互操作类型“WMPLib.WindowsMediaPlayerClass”。
如何捕捉持续时间?
【问题讨论】:
-
我试过了,但它们没有帮助我:(
-
@irshadjm 您是否尝试通过转到
WMPLib的属性并设置Embeded = True来显式添加WindowsMediaPlayerEmbedded -
您将不得不询问旨在显示/处理视频的代码以获取该详细信息。文件长度永远不能作为指标。并且可以有很多替代的视频/音频轨道,对于一个特定的剪辑来说甚至可能不是恒定的。我认为习惯上只接受“任何类型的视频”,然后转换为服务器端的默认格式。这样做时,您可以将长度视为副作用。以一种形式使用它也有助于检测重复项(最好使用一些校验和)。