Categories
SugiBlog ホームページ制作・システム開発

動画ファイル(.avi)の長さ(総時間)を取得する

Windowsエクスプローラーにてファイルのプロパティの概要タブで確認できる内容を取得する。
AVIやMP3には付加情報(ID3タグ情報)が格納されている。

※この方法は簡易的なものでID3.orgで規定されているフォーマットに沿って読み出すのとは異なり、主要な項目のみ取得するものである。

まず、このプログラムにはShell32.dllを使用します。
1.[参照設定の追加]より、[COM]タブの「Microsoft Shell Controls And Automation」を追加する。
2.usingディレクティブにShell32を記述。

プログラムソース

using Shell32;

// ShellClassクラスのインスタンス生成
ShellClass shell = new ShellClass();
// Folderインターフェイス
Folder f;
// FolderItemインターフェイス
FolderItem item;

FileInfo fInfo;

fInfo = new FileInfo([ファイルのフルパス]);

f = shell.NameSpace(fInfo.DirectoryName);
item = f.ParseName(fInfo.Name);

Console.WriteLine(f.GetDetailsOf(item, 21)); // 長さが格納されたインデックス

Application.DoEvents();

上記の「f.GetDetailsOf(item, 21)」にて長さを取得することができます。

※Exif情報の取得とはまた異なります。

4,447 views

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*