人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

下記のサンプルコードを元にVisual Basic 2008で動画を
連続再生するメディアプレイヤーを
作成しています。

以前ご質問させていただいて(http://q.hatena.ne.jp/1262872069)
AxWindowsMediaPlayerコントロールで"nagai.mpg"の再生が終わると"nagai.mpg"
再生が終わるプログラムの作成ができました。

その後、"nagai.mpg"の再生が終わり"nagai2.mpg"を読み込んだときに
リストボックスの"nagai2.mpg"を青色にアクティブ(詳しくは添付画像ご参照)に
するようなプログラムを作成したく調べております。

AxWindowsMediaPlayerコントロールで動画の再生が終わったことを
検知するようなプログラムの書き方などがわかる方
お知恵をおかし下さい。

1262937189
●拡大する


●質問者: absence55
●カテゴリ:コンピュータ インターネット
✍キーワード:Visual Basic アクティブ コントロール コード プレイヤー
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● HALSPECIAL
●75ポイント

はずしていたらすみませんが、

StatusChangeイベントでどうにかなるのではないでしょうか?


ステータスを拾って確認してみてください。

http://blog.goo.ne.jp/prizm326/e/63b6c34af773ebc3a970b54c182b83b...

◎質問者からの返答

StatusChangeイベントで下記のコードに書き換えた所

再生中の曲名のタイトルを取得できました。

=====================================

Private Sub AxWindowsMediaPlayer1_StatusChange(ByVal sender As Object, ByVal e As System.EventArgs) Handles AxWindowsMediaPlayer1.StatusChange

Dim media_info As WMPLib.IWMPMedia = AxWindowsMediaPlayer1.currentMedia

Label2.Text = AxWindowsMediaPlayer1.currentMedia.getItemInfo("Title")

End Sub

=====================================

PlayStateChangeイベントでのコードの書き換えにも

ただいま挑戦中です。


2 ● heke2mee
●75ポイント ベストアンサー

http://q.hatena.ne.jp

PlayStateChangeのイベントでいけますよ


Private Sub AxWindowsMediaPlayer1_PlayStateChange(ByVal sender As System.Object, ByVal e As AxWMPLib._WMPOCXEvents_PlayStateChangeEvent) Handles AxWindowsMediaPlayer1.PlayStateChange

Select Case (e.newState)

Case WMPLib.WMPPlayState.wmppsStopped

'停止状態に入った時

Debug.Print("停止状態")

Case WMPLib.WMPPlayState.wmppsPlaying

'再生中に入った時

Debug.Print("再生中")

Case WMPLib.WMPPlayState.wmppsMediaEnded

'再生が全て終了した時

Debug.Print("再生が全て終了")

Case Else

Debug.Print(e.newState.ToString())

End Select

End Sub

◎質問者からの返答

PlayStateChangeイベントで書き換えたところ

無事に再生が全て終了時に次に再生するファイルを

リストボックスで青色にアクティブにすることができました。

ありがとうございました。

↓私が書き換えたソースを添付いたします。

======================================

Private Sub AxWindowsMediaPlayer1_PlayStateChange(ByVal sender As System.Object, ByVal e As AxWMPLib._WMPOCXEvents_PlayStateChangeEvent) Handles AxWindowsMediaPlayer1.PlayStateChange

Select Case (e.newState)

Case WMPLib.WMPPlayState.wmppsStopped

' 停止状態に入った時()

Label2.Text = "停止状態"

Case WMPLib.WMPPlayState.wmppsPlaying

'再生中に入った時()

Label2.Text = "再生中"

Case WMPLib.WMPPlayState.wmppsMediaEnded

' 再生が全て終了した時()

Label2.Text = "再生が全て終了"

data1 = data1 + 1

ListBox1.SelectedIndex = ListBox1.SelectedIndex + data1

Case Else

Debug.Print(e.newState.ToString())

End Select

End Sub

======================================

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ