Media Playerコントロールを使用してHTMLファイルで再生中か停止中かを判別する方法

このQ&Aのポイント
  • Media Playerコントロールを使ってHTMLファイルで再生中か停止中かを判別する方法について教えてください。
  • VisualBasicScriptを使ってMedia Playerコントロールを動かすようにした際に、再生中か停止中かを判別できるか知りたいです。
  • Do~Loopステートメントの中で再生中かどうかを監視して、再生中ならループを続行し、停止していればループから抜け出す方法を教えてください。
回答を見る
  • ベストアンサー

Media Playerコントロールを貼ったのですが(初心者です。)

VisualBasicScriptを記述して、Media Playerコントロールを、 HTMLファイル上で動かすようにしたんですが、 その際、コントロールが再生中か停止中かを判別して、 再生中なら他の動作に移らないようにしたいのですが、 再生中か停止中かを判別することができるでしょうか?。 具体的には、Do~Loop ステートメントの中で、 再生中かどうかを、プロパティの値を監視することで 再生中ならループ続行で、 停止していれば、ループから抜け出るようにしたいのですが、 このとき再生中か停止中かの値を返してくれる コントロールのプロパティはありますか? あるいは、他に何かいい方法がありましたらお願いします。 何のことを言っているのか分からない場合は、 ずぶの初心者ですので、勘弁して無視してください。

  • tmp_
  • お礼率82% (76/92)

質問者が選んだベストアンサー

  • ベストアンサー
  • ittochan
  • ベストアンサー率64% (2667/4137)
回答No.2

あっ 確認したのはWindows Media Player9の wmp.dllです。

tmp_
質問者

お礼

ヒントになりました。ありがとうございました。

その他の回答 (1)

  • ittochan
  • ベストアンサー率64% (2667/4137)
回答No.1

<HTML> <HEAD> <TITLE>~( ̄∇ ̄~)ふら(~ ̄∇ ̄)~ふら フラダンスゥ</TITLE> <SCRIPT LANGUAGE=vbscript> <!-- Sub WMPPlayer41_StatusChange text1.value = WMPPlayer41.status End Sub --> </SCRIPT> </HEAD> <BODY> <P> こういうのはどうでしょう </P> <P> <OBJECT id=WMPPlayer41 classid=clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6 VIEWASTEXT> <PARAM NAME="URL" VALUE="c:\sample.mid"> <PARAM NAME="rate" VALUE="1"> <PARAM NAME="balance" VALUE="0"> <PARAM NAME="currentPosition" VALUE="0"> <PARAM NAME="defaultFrame" VALUE=""> <PARAM NAME="playCount" VALUE="1"> <PARAM NAME="autoStart" VALUE="-1"> </OBJECT></P> <P><INPUT id=text1 name=text1></P> </BODY> </HTML>

関連するQ&A

  • Do..Loopステートメントの使い方について

    現在、入門書を画面で確認しながら ExcelVBAの勉強をしています。 Do...Loopで躓いてしまいました。 Do...Loopステートメントの種類は 条件を満たすまでループするもの Do Until...Loop(ループの前で条件判断) Do...Loop Until(ループの後で条件判断) 条件を満たす間はループするもの Do While...Loop(ループの前で条件判断) Do...Loop While(ループの後で条件判断) とあって、 例えば、A1からA7まで文字が入力されていて 空白のセルになるまで太文字にするとしたら、 ループの前に条件判断していると A1が空白だと処理はされず ループの後で条件判断すると A1が空白でも処理はされる とありました。 とすると、 条件判断はループ後にした方が良いと言う事なのでしょうか。 (空白でも処理してくれるので) 自分が処理したいものが ループ「後」にするのか又は ループ「前」にするのか どのように判断すれば良いのかと言うことと、 また、 条件を満たすUntil(まで)とWhile(間) どちらを使用すれば良いのかの判断方法もわかりません。 超初心者の質問内容で申し訳ありません。 VBAって面白いなぁと思い始めたところで なんとか理解したいので 教えていただけると大変助かります。 よろしくお願いします。

  • 【VBA】DoUntil Loopを1度のみ実行

    いつもお世話になっております。 Excel2003を使用しております。 「この条件になるまで続行」というのは Do Until Loop だと思うのですが、 ループをしたくないけれど Do Until Loop を利用したい場合(条件になったら即終了したい) Do Until Flag=True 実行したいこと 実行したいこと2 実行したいこと3 Exit do Loop また、やりたいこととしては、 FlagがTrue になったら、プロシージャから抜けたいと思っています。 その場合は、 Do Until Flag=True  実行したいこと  実行したいこと2  実行したいこと3  Exit do Loop If Flag=True Then   Exit sub End if このように、別々?に書く以外に方法はないでしょうか? 出来れば、簡単なIF文で実行できないかと思ったのですが… 話がごちゃごちゃしていて分かりにくいので、質問事項のみまとめますと、 ● 条件になったら終了させる。 これは、Do~Loop 、For Next のみの動作でしょうか? ● ループから抜けると同時にSubを終了させるには、ループの外にIF文を書くしかない? 以上、よろしくお願い致します。

  • 音量コントロールにループバックがありません

    インターネットラジオを録音したいのですが、 音量コントロール 出力マスター プロパティー 録音 表示するコントロール の中に ループバックがありません。 IBM Thinkpud i 1800 2655 Windows Me です。 他のPCの 富士通 Deskpower C9355 の Windows98には、ループバックがついているのですが。 よろしくお願いします。

  • ユーザーコントロールのプロパティの値の保持

    ユーザーコントロールを作成して、使用しているのですが、独自のプロパティを作成し、実際に配置した複数のコントロールで、各々値を設定しても、プロジェクトを一度閉じてしまうと、その他プロパティの値が保持されません。 何か基本的なことを見落としているような気がするのですが、行き詰ってしまいました。 解る方いらっしゃいましたら、アドバイスお願いいたします。

  • ExcelVBA/コントロールのプロパティの設定

    いつもお世話になります。 フォームにコントロールを並べると、たとえばComboBox1, ComboBox2...のように種類+通番という名前が自動的につきますが、ごちゃごちゃになってきたのでCategorySelector0101のように意味のある名前につけなおしたいと思っています。 このとき、順番などを間違えてしまって、他のコントロールとダブってしまうと「Nameプロパティが特定できません」というエラーダイアログが表示されます。 ここで、[OK]を押すと作業が続行できる場合と、一切の操作を受け入れない場合があります。 (Windows XP SP3+Excel 2007 です) 後者の場合は、タスクマネージャでExcelを殺していますが、当然最後に保存したときまで戻ってしまいます。 これを、常に作業を続行させるようにする方法はないでしょうか。 また、グラフィックインターフェイスでマウスでプチプチ編集するのではなく、テキストエディタでガーッと編集する方法はないでしょうか。 (複数のプロパティに一気に同じ値を設定するのであれば簡単ですが、連続した違うコントロールに似たような名前を次々につけていく・・・ような場合です) フォームをエクスポートすると frm、frx というファイルができて、フォームの見た目は frx の方に入っているようですが、LBというマジックナンバーのついたバイナリーで、直接編集はできないようです。 フォームデザイン画面を使わずに、Subの中で動的にやればよかったかもしれませんが、もうだいぶ大きな画面を微調整して作ってしまい、ここからあとには引き返せない状態です。 よろしくお願いします~

  • Excel-VBA>コントロールをグレイアウトするには?

    Excel-VBAでユーザーフォームのコントロールをグレイアウト(灰色にして入力不可能にする)するには、プロパティのどの項目を変更すれば良いのでしょうか? 具体的には、2つのオプションボタンの一方が選ばれたとき、その隣にあるテキストボックスをグレイアウトしたいのです。 ちなみに、グレイアウトの方法は、オプションボタンの状態を監視して、値がTrueになったときにテキストボックスのプロパティを変更させればいいのかな?・・・と考えていますが、この方法が間違っているようでしたら、それについてもアドバイスお願いします。 どうぞ宜しくお願いします。

  • ボリュームコントロールができなくなった

    タスクバーに入っているボリュームコントロールアイコンをWクリックしても、「利用できるミキサーデバイスがありません。ミキサーデバイスをインストールするには、コントロールパネルの[プリンタとその他のハードウェア]をクリックしてから、[ハードウェアの追加]をクリックしてください。このプログラムは終了します」とのエラーメッセージが表示され、起動することができません。指示通りに操作しても、全く解決できません。また、ウィンドウズメディアプレーヤーで動画再生ができず、音楽再生状態になって停止してしまうようになってしまいました。 少し前、音楽を試聴するために再生ソフトをDLしたのが原因かもしれません。対処法が分かる方、教えてください。

  • VBScrit Win Media Player

    以下のプログラム(「VBScript」)で、プログラムファイル(「~.vbs」ファイル)が存在するフォルダ内のすべての「mp4」ファイルを順番に再生することはできたのですが、「Windows Media Player」が表示されません。 したがって、音だけです。 再生しているのは、動画です。 タスクトレーにも「Windows Media Player」が表示されていないので、全く、裏で再生してしまっています。 サイトを調べても、音楽ファイルを再生する場合しか見つかりませんでした。 どなたか、「Windows Media Player」を、表示させる方法をご存じではないでしょうか? Option Explicit Dim a, x, y, z Set x = CreateObject("Scripting.FileSystemObject") Set y = x.GetFolder(".") Set z = CreateObject("WMPlayer.OCX") For Each a In y.Files If LCase(x.GetExtensionName(a.Name)) = "mp4" Then z.URL = y & "\" & a.Name z.Controls.Play() Do WScript.Sleep(5) Loop Until z.PlayState = 1 End If Next Set z = Nothing Set y = Nothing Set x = Nothing MsgBox("Finished!")

  • ループマクロ起動時に他のエクセルファイルが起動できない

    VBAでメインループをずっとループさせ、 データが送られてきたらそれを受け取り処理をするマクロを作っています。 Do DoEvents Sleep 1 データが送られてきていれば処理 Loop という風にしているのですが、このマクロを起動中だと他のエクセルファイルが開けないのです。 他のファイルをダブルクリックしても、起動中のこのマクロのエクセルが前面にくるだけです。 なにか特別な処理をループ中にいれなければならないのでしょうか?

  • RC-10R 外部スイッチでルーパー停止

    下記の内容で質問があります。回答をいただけると助かります。よろしくお願いします! ▼製品名 BOSS RC-10R ▼困っていること 以下の設定にしています。 ・CTRL1,2端子にフットスイッチを接続 ・RC-10Rの設定「CONTROL」-「CTL1 FUNCTION」で「LOOPER STOP」を指定 ・RC-10Rの設定「RHYTUM&LOOP」-「SYNC SWITCH」で「OFF」を指定 (実施手順1) ・LOOPスイッチを押してルーパー録音スタート ・LOOPスイッチを押して再生スタート ・LOOPスイッチを2回押して再生停止 → 再生が停止され、トラックに録音データが残った状態になる(正常) (実施手順2) ・LOOPスイッチを押してルーパー録音スタート ・LOOPスイッチを押して再生スタート ・外部接続のフットスイッチを押して再生停止 → 再生が停止されるが、トラックの録音データが削除された状態になる つまり、外部接続のフットスイッチでルーパーを停止すると、何もデータがない状態になります これは想定された動作でしょうか。 皆さんの環境で再現する現象でしょうか。 ※OKWAVEより補足:「電子楽器メーカーローランド製品、ボス製品」についての質問です。

専門家に質問してみよう