我正在使用Shell32库从.mp4文件中检索数据。
我在localhost上运行的代码,但是当我在IIS服务器上使用它时,它将文件作为“MP4文件”而不是“MP4视频”返回,这导致没有视频数据(宽度,高度,帧速率)等等。回来。
我读过我可以使用GetDetailsEx来获取正确的数据,但这种方法似乎不存在于Folder类中。
public static ExtendedFilePropertiesMp4 GetExtendedFileProperties(string directory, string fileName)
{
Dictionary<string, int> headers = new Dictionary<string,int>();
Shell shell = new Shell();
Folder folder;
folder = shell.NameSpace(directory);
for (int i = 0; i < short.MaxValue; i++)
{
string header = folder.GetDetailsOf(null, i);
if (String.IsNullOrEmpty(header))
break;
if (!headers.ContainsKey(header))
headers.Add(header, i);
}
FolderItems folderItems = folder.Items();
foreach (FolderItem2 item in folder.Items())
{
if (folder.GetDetailsOf(item, 0) == fileName)
{
ExtendedFilePropertiesMp4 extendedFileProperties = new ExtendedFilePropertiesMp4();
// Get data and set the properties of the extendFileProperties
return extendedFileProperties;
}
}
return null;
}
Web.config中是否有设置或类似设置需要更改以使其正常工作?
编辑:我看到自己被投了票,这样做的人可以解释为什么吗?我想详细说明我的问题答案 0 :(得分:0)
我使用它的目的是更改其中包含视频标记的div标记的宽度和高度。
由于上述方法不起作用,我找到了另一种方法,即使用loadedmetadata。
有关详细信息,请参阅此答案: jQuery, checking to see if video has height/width