Windows Server 2012内のASP(VBScript)において、動画や音声ファイルのなどの情報を取得する場合に、これらの情報が取得できない場合の対処方法です。
下記のサンプルプログラムで、動画ファイルの長さが秒で取得できるはずが取得できずに0が帰ってきてしまいます。
Set objShell = server.CreateObject("Shell.Application") FilePath = "D:\inetpub\Demo\DemoMove.mp4" Set objFolder = objShell.Namespace(filePath) tmpStr = Mid(filePath, InStrRev(filePath, "\", -1, vbTextCompare) + 1) For Each objItem In objFolder.Items If StrComp(objItem.Name, tmpStr, vbTextCompare) = 0 Then GetDuration = CDbl(objItem.ExtendedProperty("Duration")) GetDuration = Int(GetDuration / 1000 / 1000 / 10) Exit For End If Next response.write(GetDuration)Windows Server 2012の標準インストールでは、動画や音声に関するソフトウェアがインストールされていません。
「役割と機能の追加」から「機能」の「Media Foundation」を追加することで、動画や音声ファイルの情報を取得できるようになります。