はじめに
簡易にストリームデータを取り出す事ができるDirectShowを利用する事により、取得したフレーム画像をリアルタイムでGDI描画に利用する事ができます。
今回はこの機能をWindows2000、XPの透明なウィンドウと組み合わせてみます。
対象読者
C++のコードを使える事とWINAPIをある程度理解している必要があります。それと、かじった事がある程度でいいのですが、DirectShowを使った事が前提となります。
DirectShowについては、次のサイトが一番参考になると思います。
- Geekなぺーじの
- MSDNライブラリの
必要な環境
とりあえず、Windows 2000(未検証)またはWindows XP(検証済)上でしか動きません。ですが、ウィンドウを透明にしたいと思わない場合はその限りではありません。
制作にはPlatformSDKが必要になります。ヘッダ、ライブラリはパスを通しリンクして下さい。
また、再生するビデオデータは何でも良いわけではありません。とりあえず、MPEG1、WMV辺りは再生できるのですが、AVIはコーデックとの相性により音だけしか出ない場合があります。また、通常に再生できてもこのプログラムでは再生できないと言う場合もあります。他のソースでの再生テストをお願いします。