| 2010.11.13 今日は休出なので釣りはなし・・・。
現在進行中の案件で、WMVファイルの 再生時間を取得する必要があり、 WMVファイルの規格を調べて、ヘッダー情報から →File Properties Object →Send Duration を取得するコードを書いていた。
今日は、WMVの幅・高さを取得する必要があったんだけど、 ヘッダーに格納されていないし。 バイナリで見るとそれらしき値はあるんだけど・・・。
WindowsExplorerで、再生時間やサイズが表示されてるし、 ファイルプロパティでもいろんな情報がでるんで、 これがほしい。 (画像1) で、調べたら、結構簡単に取得できるんですね。 同じファイルのデータをプログラムから取得 してみました。(画像2) ちなみに画像のデータファイルは、 携帯 SB944SHで撮影した画像の詳細情報。
以下はコードのメイン部分。 C# .NET Framework2.0以降 Windows 7 ------------------------------------------- private void GetData( string fullfn ) { string pth = Path.GetDirectoryName( fullfn ); string fn = Path.GetFileName( fullfn );
Shell32.Shell shell = new Shell(); Folder fold = shell.NameSpace( pth ); FolderItem fitem = fold.ParseName( fn );
for( int i=0 ; i < 300 ; i++ ) { string[] dats = new string[3]; dats[0] = i.ToString(); dats[1] = fold.GetDetailsOf(null, i); dats[2] = fold.GetDetailsOf(fitem, i); ListViewItem li = new ListViewItem(dats); lstV.Items.Add(li); } }
|