- ベストアンサー
C# WMPメディアの終了検知 その2
- C#でWMPメディアの終了を検知する方法について、直接終了イベントを使用する方法について教えてください。
- 現在は、axWindowsMediaPlayer1_PlayStateChangeメソッドを使用して終了を検知していますが、他にも直接イベントを拾う方法があるようです。
- 詳しい実装方法やサンプルコードを教えていただけると助かります。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
イベントハンドラの使い方について勉強して欲しいところですが……。 http://www.atmarkit.co.jp/fdotnet/csharp_abc/csharp_abc_013/csharp_abc01.html http://www.ipentec.com/document/document.aspx?page=csharp-play-wave-file-use-media-player&culture=ja-jp に書かれている方法でSystem.Windows.Mediaが使える状態になったとして、 MediaPlayerクラスのインスタンスを作成した時にイベントハンドラを登録します。 mp = new MediaPlayer(); mp.MediaEnded += new EventHandler(mp_MediaEnded); こんな感じですかね。 VisualStudioを使っているのならば"+="まで入力した所でTABキーによる補完を実行すると、 イベントハンドラのメソッド(のひな形)まで作成してくれます。 # TABキー2回押して下さい。(VisualStudio C# 2010 ExpressEditionで確認。) 再生が終了するとMediaEnded イベントが発生し、設定されたイベントハンドラがコールされます。 コールされたイベントハンドラからフォームのコントロールってそのまま操作出来なかったかと思われますが…。 # SerialPortのDataReceivedイベントで、デリゲートとInvokeでデータ引き渡していた記憶が。 # キーワードで検索して下さいな。 # http://hippos-lab.com/blog/node/337 とか参考になりますかねぇ…。
お礼
早速の回答、ありがとうございます。 おかげさまで、何とか実現できました。 今までVSの自動クリックイベントの追加に慣れきっていたため、 手書きでイベントを追加する方法が解りませんでした^^; これからは、極力手書きでできるようにします。 ありがとうございました。