Windows NT/2000/XP/2003/2008 Page > ASP > ASPでMP4などの動画で時間などが取得できない
ASPでMP4などの動画で時間などが取得できない



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」を追加することで、動画や音声ファイルの情報を取得できるようになります。