メディアプレーヤのコントロールを使ってコマ送り への返答
投稿で使用できる特殊コードの説明。(別タブで開きます。)
以下の返答は逆順(新しい順)に並んでいます。
投稿者 るきお  (社会人)
投稿日時
2019/6/23 15:10:20
こんにちは。
とありあえずこれでできました。
Button1で開始して、一時停止してから、Button2クリックでコマ送り。
このサンプルはVB2017で作っています。
開始して自動的に一時停止状態にしたほうが試しやすいと思うのですが、AxWindowsMediaPlayerに詳しくないのでその方法はわかりませんでした。イベント拾うしかないのでしょうか。
とありあえずこれでできました。
Button1で開始して、一時停止してから、Button2クリックでコマ送り。
このサンプルはVB2017で作っています。
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
AxWindowsMediaPlayer1.URL = "C:\vb\test.mp4"
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
DirectCast(AxWindowsMediaPlayer1.Ctlcontrols, WMPLib.IWMPControls2).step(1)
End Sub
開始して自動的に一時停止状態にしたほうが試しやすいと思うのですが、AxWindowsMediaPlayerに詳しくないのでその方法はわかりませんでした。イベント拾うしかないのでしょうか。
投稿者 eigyou  (社会人)
投稿日時
2019/6/23 11:03:05
毎度お世話になります
メディアプレーヤのコントロールを使ってコマ送りしたいのですが、
コマンドがよくわかりません
現状下記
AxWindowsMediaPlayer1.Ctlcontrols.currentPosition = AxWindowsMediaPlayer1.Ctlcontrols.currentPosition - NumericUpDown2.Value
AxWindowsMediaPlayer1.Ctlcontrols.play()
AxWindowsMediaPlayer1.Ctlcontrols.pause()
IWMPControls2だと出来そうなんですが、記述の仕方がわかりません
よろしくお願いします
メディアプレーヤのコントロールを使ってコマ送りしたいのですが、
コマンドがよくわかりません
現状下記
AxWindowsMediaPlayer1.Ctlcontrols.currentPosition = AxWindowsMediaPlayer1.Ctlcontrols.currentPosition - NumericUpDown2.Value
AxWindowsMediaPlayer1.Ctlcontrols.play()
AxWindowsMediaPlayer1.Ctlcontrols.pause()
IWMPControls2だと出来そうなんですが、記述の仕方がわかりません
よろしくお願いします
早速回答ありがとうございます
できました! step(1) →1フレーム 10フレーム進めたかったら step(10) かと思いきや
これは、残念 動きませんでした
位置を進めて、1フレーム表示にしました
play() pause() より、処理が早くなりました
タイマー処理で、ポーリングして状態把握しています
起動後、タイマーを起動 durationを確保したら、pause()送ってます
助かりました