ようこそゲスト さん ユーザー登録 ログイン

Windows用のバッチファイル(スクリプトファイル)に関する質問です。ホームビデオで撮影したイベントの動画ファイルがたくさんあります。Windows Media Player10で再生して見ています。この複数の動画ファイルを、連続で再生したいのです。

  ・動画は、「C:\video\」の下に、まとめて置いてます
  ・30~40個くらいです
  ・1分間程度を再生したら、次に動画に移りたいです
  ・順番は指定(記述)できると良いですが、ランダムでも構いません
  ・WindowsXP/Proです
  ・Dosバッチファイルやvbsなどのスクリプト系が条件です
  
Dosは詳しくないので、単純に「"C:\Program Files\Windows Media Player\wmplayer.exe" "C:\video\fami001.wmv"」などと、複数行、書いてみました。当然ですが、1つのファイル全ての再生が終了しないと、次のファイルの再生に移りません。

初歩的な質問ですみません。ズバリのご回答のみ、求めています。「こうすれば~~」のような推測的ご回答は不要でございます。たぶん、簡単な記述でOKなのだと思います。

以上、よろしくお願いいたします。   Windows用のバッチファイル(スクリプトファイル)に関する質問です。ホームビデオで撮影したイベントの動画ファイルがたくさんあります。Windows Media Player10で再生し.. を含むブックマークはてなブックマーク - Windows用のバッチファイル(スクリプトファイル)に関する質問です。ホームビデオで撮影したイベントの動画ファイルがたくさんあります。Windows Media Player10で再生し.. - 人力検索はてな

  • Mugicha2004 あなたも質問に答えられます! ウォッチリストに追加
  • 状態:終了
  • 回答数:5 / 10件
  • 回答ポイント:90ポイント
  • 登録:2006-09-10 09:13:16
  • 終了:2006-09-10 21:19:19
  • カテゴリー:コンピュータコンピュータ

1 回答者:Namo4680 2006-09-10 10:58:13 満足! 5ポイント

http://www.vector.co.jp/soft/winnt/art/se408339.html

目的を達成するだけならばこちらのフリーウェアから可能ですが

バッチファイルでないと駄目だったでしょうか?

動作確認してみましたがランダム再生と再生時間の指定が可能です。

(ただ再生時間を0~60秒と指定しても若干再生時間にずれが生じるようですが)

なおファイルの種類を指定する時にすべてのファイルを選択しないとデフォルトでwmvが表示されないようです。

wmvは再生可能

質問者:Mugicha2004 2006-09-10 11:07:11

ご回答、ありがとうございます。試してみますね。希望はバッチファイル系です。そちらのコメントを、お待ちします。

2 回答者:captim 2006-09-10 12:07:42 満足! 50ポイント

下のスクリプトでできます。

ただし、今回2つのファイルしか書いていませんが

読みたいものを1つずつ書いていく必要があります。

工夫すればリストから読み出しもできるはずですが・・・

ファイルは関連しているソフトで動きますが、起動までの

時間も含まれているので実際は1分以上で設定したほうが

よいかもしれません。

名前を連番にするならfor~nextを使えばいけます。

スクリプトの説明

 wscript.Sleep 1000

  →1000[mSec]なのでこれで1秒待ちます。

   60000[mSec]は1分です。

 Set ws = CreateObject("Wscript.Shell")

 ws.run "ファイル名"

  →ファイル名を実行します。


  • 以下スクリプト----

Set ws = CreateObject("Wscript.Shell")

ws.run "c:\video\fami001.wmv"

wscript.Sleep 60000

Set ws = CreateObject("Wscript.Shell")

ws.run "c:\video\fami002.wmv"

wscript.Sleep 60000


次のURLはあまり参考にならないかもしれませんが・・・

http://www1.u-netsurf.ne.jp/~tomo_c/tips/Scr003.html

質問者:Mugicha2004 2006-09-10 21:15:19

ご回答、ありがとうございます。これです!こちらの内容で、完璧にOKでした。大変感謝です。

Unix系のシェルスクリプトはなじみが深いのですが、Dosのバッチファイルは、ほとんど知りません。WSHはその高機能版みたいですね。有用そうですので、これをきっかけに勉強してみます。

本当に、ありがとうございました。

3 回答者:circuit 2006-09-10 14:26:13 満足! 5ポイント

少し作成に時間がかかりますが、Windowsについている「Windows ムービー メーカー」を使って、映像を編集したのを見てみてはいかがですか?

たとえば40個のファイルをすべて読み込んで、順番に時間していで再生するのも可能だったと思います。

http://www.microsoft.com/japan/windowsxp/using/moviemaker/de...

質問者:Mugicha2004 2006-09-10 21:16:16

ご回答、ありがとうございます。すみませんが、希望情報とは異なるようです。スクリプト系の解を求めていました。同様のコトは実現できるのかもしれませんが、当方の希望する状況にはマッチしないのです。申し訳ありませんが...

4 回答者:y3kz 2006-09-10 14:44:21 満足! 30ポイント

普通にバッチかスクリプトを書くと、SLEEPを使って、動画ファイルを順次WMPに再生させていくことになるのだと思います。

自動再生していくだけならそれでもいいのかもしれませんが、途中で連続再生をやめたいときや、動画をスキップしたいときに不便です。

.ASXファイルで再生時間を指定するのが一番スマートではないかと思います。

<DURATION> タグを使用すれば、再生時間を指定できます。

参考↓

http://www.microsoft.com/japan/windows/windowsmedia/howto/ar...


とりあえず、再生時間を指定した.ASXファイルを作成して、それをWMPに再生させるVBSを書いてみました。

		'動画フォルダとWMPのパスの指定
		Const MOVIE_FOLDER = "C:\Video"
		Const WMP_PATH = "C:\Program Files\Windows Media Player\wmplayer.exe"
		
		'作成するASXファイルのパスの指定。
		Const ASX_PATH = "C:\WINDOWS\TEMP\myASX.asx"
		
		'時間の設定(「時間:分:秒」で指定し、ダブルクォーテーションで囲む。)
		Const PLAYTIME = "00:01:00"
		
		Set fso = CreateObject("Scripting.FileSystemObject")
		Set myASX = fso.CreateTextFile(ASX_PATH, True)
		Set myMovies = fso.GetFolder(MOVIE_FOLDER).Files
		
		myASX.WriteLine "<ASX Version = ""3.0"">"
		For Each myMovie In myMovies
		 myASX.WriteLine " <Entry><Ref href = """ & myMovie.Path & """ /><Duration value = """ & PLAYTIME & """ /></Entry>"
		Next
		myASX.WriteLine "</ASX>"
		myASX.Close
		
		'.ASXファイルを作るだけなら、↓の行は不要。
		CreateObject("WScript.Shell").Run """" & WMP_PATH & """ """ & ASX_PATH & """"
	
質問者:Mugicha2004 2006-09-10 21:17:27

ご回答、ありがとうございます。こちらのテも有効そうですね。ぱっと見た感じでは、2番の方の手法の方が、シンプルな印象です。機会がありましたら、試してみます。

質問者が未読の回答一覧質問者が未読の回答一覧質問者が未読の回答一覧について

 回答者回答回数受け取り回数いるか賞回答時間
1 babizo 22 18 0 2006-09-10 17:24:27

おとなり質問

この質問・回答へのトラックバックこの質問・回答へのトラックバック

任意のフォルダの動画をちょっとずつ見る任意のフォルダの動画をちょっとずつ見る ぼちぼちと咀嚼中 2006-09-10 19:47:43
久しぶりにスクリプトを作ったので、貼ってみる。 任意のフォルダ内の動画を、指定