Windows2000上で動画ファイルのサイズを取得する

解決


とうま  2007-12-20 08:19:00  No: 28998

AVIファイルを合成するソフトを作成しています。
その途中でソースとなるAVIファイルのサイズを知る必要性が出てきました。
WindowsXPでは、
http://www.geocities.jp/fjtkt/problems/2006_0019.html(個人様のサイトです)
こちらを参考にプロパティを取得することができたのですが、
同様の方法をWindows2000上で試した場合にうまくいきません。

とりあえずWindows2000のFMTIDなども探してみているのですが、
なかなか該当する情報を発見することができず・・・

どうやらWindows2000とXPではプロパティの管理方法が違うらしいのですが、
サイズプロパティの取得方法、もしくは情報を持っていらっしゃる方はいませんか?
Explorer  >ファイルのプロパティ  >概要  でサイズは表示されるので、
何らかの方法があると思うのですが。


KHE00221  2007-12-20 10:08:51  No: 28999

サイズって何のサイズだろう?

FindFirst で取れるファイルサイズの事じゃないのかな?

演奏時間の事かな?メディアプレイヤーで取れたと思ったけど

Explorer  >ファイルのプロパティ  >概要  でサイズは表示されるので、

で表示されないんだよね・・・うちだと


さどやま  URL  2007-12-20 18:59:11  No: 29000

> サイズって何のサイズだろう?
同感。

> Explorer  >ファイルのプロパティ  >概要  でサイズは表示されるので
これで表示される「サイズ」らしきものは個々の画像の幅と高さだけですよね。

取得する画像は1つでよいのかな?
それともすべてのビットマップのサイズチェックが必要なのかな?
後者だとコードが少し増えるだけですが。

画像のファイル名は事前にわかっているのかいないのか?
これも後者だとコードが少し増えるだけですが。


さどやま  2007-12-20 19:19:11  No: 29001

少し質問内容を誤解していました。
AVI の結合のために「AVIのサイズ」取得が必要なんですね。
でも、「画像の縦横サイズ」が「AVIのフレームサイズ」に変わるだけなのでしょうね。
Explorer  >ファイルのプロパティ  >概要  で表示されるサイズらしきものはやはり「イメージサイズ」しかないようですので。

もしそうであれば、私なら仕様が良くわからないShellオブジェクトなど使わず、AVIファイルから直接取得してしまいますが。
そのほうがオーバーヘッドも減り処理速度も速まりますし。

http://www.usagi-goten.com/jp/AVI_structure.html などを参考にすれば、取得メソッドの自作はそう難しくありません。

> Explorer  >ファイルのプロパティ  >概要  でサイズは表示されるので、
> で表示されないんだよね・・・うちだと
なぜでしょうね?


とうま  2007-12-21 06:11:04  No: 29002

すいません、情報不足でした。

皆様ご指摘のとおり、プロパティで表示される『イメージ』カテゴリの『サイズ』です。
読み込むAVIファイルはすべてのフレームが同一サイズ(縦横)であることがわかっています。
さらにAVIファイルのファイル名も判明しています。

さどやまさんのアドバイスに従って、直接読み込むようにしてみます。


とうま  2007-12-21 19:31:09  No: 29003

バイナリから読み込む方法で無事に解決しました。
ありがとうございました。


とうま  2007-12-28 00:15:08  No: 29004

解決済みとさせていただきます


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加