• 締切済み

VB上でのWMPの停止イベントはキャッチできますか?

VB2005を使っている超初心者です。 今、赤外線で信号を受信して、受信情報を元にウィンドウズメディアプレイヤーで動画を流して、終わったらまた赤外線受信処理をするプログラムを作っています。 しかし、受信して動画を再生して停止したときPlayStateChangeイベントで停止するのをキャッチするまではできたんですが、その後自動的に赤外線処理に移行するプログラムができません。 現在はクリックしないと受信が始まらないので、PlayStateChangeを使わずに停止だけをキャッチするイベントはありませんでしょうか? 教えて下さい。 ちなみにPlayStateChangeの停止したときに赤外線処理入れるのもやったんですが、赤外線処理の中で動画のURL指定をするんですが、そのときにプレイヤーの状態が変わるので、またPlayStateChangeイベントが発生するためにデッドロックの状態になりうまく動きませんでした。 よろしくお願いします。

みんなの回答

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

フラグを立てておいて 受信処理 フラグをクリア といった具合にすればいいのでは … フォームクラスに dim bBusy as Boolean などとフラグを用意する Sub WMP1_PlayStateChange()   if bBusy then exit sub   bBusy = true   赤外線受信処理   bBusy = False End Sub といった具合です

sirokuroty
質問者

お礼

ありがとうございます。 早速試して見たいと思います。

関連するQ&A