2009年2月19日木曜日

C#とWPFによるWMPの視覚エフェクトのサンプル


サンプルコードはここのWMPWPFTEST.zipです。

今週はきわめて調子が悪いので、直ぐにというわけにはいかないけれど、これで、マーカ5つくらいを各周波数帯域に対応させてミクさんを音楽に同期して放出できる。周波数帯域の区切り方は対数で行うべきだろうな。

このコードでは、HwndSourceで作ったウィンドウをWMPの子ウィンドウにし、そのRootVisualを自作のユーザコントロールにしている。しかし、IWMPEffectsではこのウィンドウを破棄するタイミングがない。あくまでオンフレーム描画を念頭においた設計になっている。このために、一度この視覚エフェクトを選んでしまうと、他の視覚エフェクトを選んでもそのまま子ウィンドウが残ってしまう。

この問題は、IWMPEffects2では解決するようだ。CreateメソッドやDestroyメソッドが存在する。これもそのうち試してみよう。

0 件のコメント: