HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2007
0316
1500wait命令について5解決


1500

リンク

2007/3/16(Fri) 01:33:49|NO.6326

初めまして。1500と申します。どうぞよろしくお願いします。
さて、簡単なmpgのプレイヤーを作りたいと考えています。
ムービーを再生中に上に再生を停止するボタンと、終了させるためのボタンを設置し、
ムービーがすべて再生し終わったら終了するという形にしたいと考えています。
再生し終わったら終了については、mciでmpgの再生時間を取得し、waitによって一時停
止させようと考えましたが、これだとムービーは再生されるものの、ボタンが表示されません。
以下の構文で間違っている箇所などがありましたらご指摘いただければ幸いと思います。
よろしくお願いします。

mci "open sample.mpg alias wmovie"
mci "set wmovie time format milliseconds"
mci "status bgm length" : bgml=stat

filename="sample.mpg"
screen 0,640,500,0
cls 4
objsize 160,20
pos 0,0
button "STOP",*stopping
pos 160,0
button "END",*fend
pos 0,20
mmload filename,1,0
mmplay 1
wait stat
goto *fend

*stopping
mmstop 1

*fend
end



この記事に返信する


KIMU

リンク

2007/3/16(Fri) 02:38:12|NO.6327

>mci "status bgm length" : bgml=stat
デバイスネームが wmovie じゃ無くbgm になってる

戻り値の stat を bgml に入れてるのに
>wait stat
こっちでは stat にしてる(statは色々な命令で値が変わってしまう)

あと、wait 1 は 10ミリ秒なので bgml を10で割るか
1ミリ秒で指定できる awaitを使う

await 0 ;await は前回のwait系命令からの経過時間が引かれるから await bgml



1500

リンク

2007/3/16(Fri) 23:24:17|NO.6353

早速のお返事ありがとうございます。
awaitとwaitでは秒単位も違うのですね。
ご指摘ありがとうございました。

今回のスクリプトを発展させて番号で指定したファイル名を再生させるという仕組みに
しましたところ、ボタンが表示されず、その部分だけ最初のトップ画像が表示されてい
るという状態になってしまいました。


何か間違いなどがございましたらご指摘いただければと思います。

*maind screen 0,640,480 pos 0,0 picload "images/top.gif" pos 342,183 ;上3桁 age="" input age,35,20,3 pos 392,183 ;中上2桁 category="" input category,20,20,2 pos 427,183 ;中下8桁 name="" input name,53,20,8 pos 495,183 ;下2桁 reped="" input reped,15,20,2 pos 525,183 button "予約",*search stop *search exist "videos/"+age+"-"+category+"-"+name+"-"+reped+".txt" ;曲名などのテキストファイル読み込み if strsize = -1 { dialog "指定された番号がありません。番号を確かめてください。",1 goto *maind } else goto *nowload *nowload cls 0 sdim data,50 bload "videos/"+age+"-"+category+"-"+name+"-"+reped+".txt",data ;曲名を表示 pos 0,0 picload "images/nowload.gif" pos 340,100 mes data mci "open videos/"+age+"-"+category+"-"+name+"-"+reped+".mpg alias wmovie" mci "set wmovie time format milliseconds" mci "status wmove length" wait 1000 goto *play *play fname="videos/"+age+"-"+category+"-"+name+"-"+reped+".mpg" screen 0,640,500,0 cls 4 objsize 160,20 pos 0,0 button "STOP",*stopping pos 160,0 button "END",*maind ;gcopy 2,0,0,20,480 pos 0,20 mmload fname,1,0 goto *play2 *play2 mmplay 1 await 0 await bgml goto *maind *stopping mmstop
♯最初の投稿でスクリプトを<pre>で囲み忘れていました。
申し訳ございませんでした。



KIMU

リンク

2007/3/17(Sat) 01:43:37|NO.6356

> picload "images/top.gif"
picload はウィンドウサイズを自動で画像と
同じサイズに調節する機能が付いてるので
それを切ります
:例

picload "images/top.gif",1

>mci "status wmove length"
スペル違いませんか?
後、NO.6326ではやってるのに、収得した再生時間をbgmlに入れてません。



1500

リンク

2007/3/19(Mon) 14:58:32|NO.6423

なるほど、picloadで1とすると上に表示されるのですね。
無事解決いたしました。KIMU様、ありがとうございました。

なおスペルですが、動作はしっかりとしているので間違ってはいないかと思います。
google等で検索しましたが mci status length ともに間違いはないようです。

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



KIMU

リンク

2007/3/19(Mon) 21:34:22|NO.6434

>google等で検索しましたが mci status length ともに間違いはないようです。
いや、そこじゃなく

> mci "set wmovie time format milliseconds"
> mci "status wmove length"
wmovie がwmove になってませんか?
と・・・



ONION software Copyright 1997-2021(c) All rights reserved.