プロが教える店舗&オフィスのセキュリティ対策術

お世話になっております。

Visual Basic6.0もしくは2008 ExpressEditionを使用して、
着うたの3gp、mp4のファイル情報を取得しようとしています。

欲しい情報は、大きく分けて以下の二つになります。
(1)ビットレート、サンプルレート、曲の長さ、配信可・不可 等
(2)着うたフルの着信音名称と設定時間

これらを取得するために、作業時間にして約一週間程試行錯誤しているのですが、
有効な手段が見つかりません。

今まで試した手段は、
・QuickTimeのActiveXコントロール
・QuickTime関連の変数とそのプロパティ
・MediaPlayerのActiveXコントロール
・3gp、mp4をテキストで開く
・Shellオブジェクト、APIの使用

等です。QuickTimeはバージョン6の有償版を使用しています。
Wavのビットレート、サンプルレートを取得できたり、
3gp、mp4の一部のファイル情報(タイトル、アーティスト等)の取得には
成功したのですが、(1)と(2)がどうしてもできません。
タイトルやアーティストの情報もテキストから強引に抜き出した
感があり、もっと有効な方法があるのではないかとも感じます。
インターネットで調べているのですが、情報が非常に少なく、手詰まりの状態です。
ご存知の方がいらっしゃいましたら、ご教授頂けると大変ありがたいです。
よろしくお願い致します。

A 回答 (1件)

> もっと有効な方法



有効という意味では、ファイルフォーマットを把握して、バイナリを読み取っていくのが確実です。

少し調べてみたところ「QuickTime Atom」というキーワードにたどり着きました。このあたりが参考になるかもしれません。
http://okayama.cool.ne.jp/dvd2cd/atom/atomformat …
http://okayama.cool.ne.jp/dvd2cd/atom/atoms.html

各データは「データ長(4Byte) + ブロック名(4Byte) + データ(データ長Byte)」というブロックで区切られているので、.NETのIO.BinaryReaderを使えばブロックの取り出しは簡単に出来そうです。あとは必要なブロックだけ解析し、不要・不明なものは読み飛ばしてしまえばよいかと。
どのブロックに欲しい情報が書かれているかまでは探していませんが、このへんが足がかりになれば。
    • good
    • 0
この回答へのお礼

ありがとうございます。
目的の半角数字がテキストエディタで見つからない為、
バイナリはあまり見ていませんでした。
教えて頂いたサイトは非常に参考になりそうです。
詳しく見ていきたいと思います。
また、お手数をお掛けしましたようで、大変感謝致します。
勉強になりました。

お礼日時:2009/09/01 23:01

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!