使用 Windows API Code Pack 取得影片長度

注意:此方法僅適用於 Windows Vista、Windows 7、Windows Server 2008。

先下載 Windows API Code Pack,將套件解壓縮至某個資料夾,例如:D:\Lib\WindowsApiCodePack。

建立一個新專案,加入下列組件參考:
  • Microsoft.WindowsAPICodePack.dll
  • Microsoft.WindowsAPICodePack.Shell.dll
撰寫程式時,要匯入命名空間:

[VB]
Imports Microsoft.WindowsAPICodePack.Shell

[C#]
using Microsoft.WindowsAPICodePack.Shell

取得影片長度的範例程式碼:

[VB]
Dim file As String = "C:\鐵達尼號.avi"
Dim so As ShellFile = ShellFile.FromFilePath(file)
Dim nanoseconds As Double
Double.TryParse(so.Properties.System.Media.Duration.Value.ToString(), nanoseconds)

[C#]
String file = @"C:\鐵達尼號.avi";
ShellFile so = ShellFile.FromFilePath(file);
double nanoseconds = 0;
Double.TryParse(so.Properties.System.Media.Duration.Value.ToString(), nanoseconds);
注意這裡取得的 nanoseconds 的單位是 100 nanoseconds,所以要換算成秒的話,可以將變數 nanoseconds 乘以 0.0001 再除以 1000。

Post Comments

技術提供:Blogger.