« DirectShowを使わないほうが簡単? | メイン | 空のフィルタを作る »

2005年08月23日

吉里吉里 ムービー拡張日誌2:: WMVを再生してみる

    

ReadFromStreamサンプルのOnSampleで、単純にパラメタとして入ってきたデータを標準出力へ書き出すように変えてみた。
が、OnSampleがコールされません。
デバッガで追ってみると、CReader::Start内で1回WaitForEventが足りない。
OnSampleの中に"Add your code here"って書いてるのに、そこに書いたコードは実行されないという……
で、WaitForEventを追加したらサンプルの情報がずらーっと表示された。

オーディオを再生するサンプルはWMF9 SDKについているのだが、ビデオはないので、これにビデオを表示する機能をつけることにした。
Open後、MediaTypeを取得し、ビデオストリームの番号とMVIDEOINFOHEADERを保持し、ビデオサイズのウィンドウを作って、OnSample内でビデオストリームが来た時にウィンドウへBitBlt。
比較的簡単に出来た。
きちんとした速度で再生されている様子。
フィルタにしなければもうほとんど出来たようなもの。

これをフィルタに持って行くと、ソースフィルタとスプリッタフィルタとデコーダーフィルタがくっついたフィルタになるのか。
つまり、レンダーフィルタだけがつながることになる。
なんとかなるかな。



投稿者 Takenori : 2005年08月23日 00:55




comments powered by Disqus
Total : Today : Yesterday : なかのひと