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


HSPTV!掲示板


未解決 解決 停止 削除要請

2008
1014
DoSracc現在再生している曲が終わったら、次の曲へ飛ばす1未解決


DoSracc

リンク

2008/10/14(Tue) 07:17:57|NO.20131

おはようございます。
さっそくなのですが、
私が作ったソフトに『現在再生している曲が終わったら、次の曲へ飛ばす。』このような機能がほしいのですが、検索してもわかりやすく書いてあるとこがありませんでしたので、
掲示板で質問させていただきます。
下記のスクリプトに追記するような形で書いてもらえれば嬉しいのですが、不可能なら、どのスクリプトを入れれば飛ばせるよと教えてくだされば幸いです。

	fullpath="":filepath=""
onkey *read//キーが押されたときに強制的にジャンプ *f tt="DoSracc Media Player." title tt screen 0,330,100,0 color 0,0,0 boxf 0,330,330,0 onexit goto*ss objsize 113,20 button "File Load",*fl//読み込み font "Webdings",25 objmode 2,0 pos 113,0 objsize 107,20 button "4",*oky//再生 pos 219,0 objsize 111,20 button ";",*oky2//一時停止 pos 113,20 objsize 107,20 button "<",*s_top//停止 font "" objmode 2,0 pos 0,20 objsize 113,20 button "Version Info",*ver//バージョン pos 219,20 objsize 111,20 button "End of Software",*ss//終了 pos 270,70 objsize 50.20 button "▼",*sankaku *hata screen 1,200,90,8 title "プレイリスト" pos objsize 200,100 listbox list,8,"" listid=stat//listboxのobjidが代入される gsel 0,1 onexit *syuuryo stop *fl dialog "mp3;*wav;*wma;*avi;*mid;*asf;*wmv;*mpg",16,"AudioFile" if stat=0:stop fname=refstr notesel fullpath//フルパスを管理する fullpath+=""+fname+"\n" notesel filepath//ファイル名だけのを作る。これをlistboxに表示する filepath+=""+getpath(fname,8)+"\n" gsel 1,0 objprm listid,filepath//変更した内容を反映(WindowID=1) gsel 0,0 if pflag=1:goto *mainloop//再生中のときは戻る stop *oky if flag=1:mci "play music repeat":pflag=1:goto *mainloop file="" notesel fullpath//フルパス取得 noteget file,list mci "close all"//念のため、全クリア mci "open \"" + file + "\" alias music":if stat=-1:stop mci "set music time format milliseconds" mci "status music length":m_length=stat nagasa=m_length/1000 if nagasa/60>0:n_fun=nagasa/60:n_byo=nagasa\60:else:n_byo=nagasa:n_fun=0 if n_byo<10:n_byoz="0"+n_byo:n_byo=n_byoz color 0,0,0 : boxf 0,330,330,0 fn = ""+getpath(file,9)+"" pos 0,50 color 255,255,255 font "MS ゴシック",12 mes "ファイル名:" pos 65,50 mes fn fn2 = ""+getpath(file,2)+"" pos 0,62 font "MS ゴシック",12 mes "  形式  :" pos 65,62 mes fn2 fn3 = ""+getpath(file,0)+"" pos 0,74 font "MS ゴシック",12 mes "ファイルサイズ :" pos 65,74 exist file mes strsize : pos 120,74 : mes"B(バイト)" pos mci "play music repeat":pflag=1 goto *mainloop *oky2 mci "pause music" flag=1//一時停止フラグ pflag=0//再生中フラグ stop *s_top mci "stop f" //mci "seek music to 0"//シークして位置を0にする mci "close music" flag=0//一時停止フラグ解除 pflag=0//再生中フラグ title tt stop *ver dialog {" 現在バージョンは、3.002(β)です。 "},0, "Version Info" if pflag=1:goto *mainloop//再生中のときは戻る stop *ss end *read objsel -1//アクティブなオブジェクトID取得 actobj=stat if actobj!=listid:stop//オブジェクトがアクティブでないと停止 if wparam=13{//ENTERキーでなければ停止 goto *oky//再生用の旗に戻る } if pflag=1:goto *mainloop//再生中のときは戻る stop *mainloop mci "status music position" ps=stat imano=stat/1000 if imano/60>0:{ i_fun=imano/60 i_byo=imano\60 }else{ i_byo=imano:i_fun=0 } wait 5 if i_byo<10:title tt+" "+i_fun+":0"+i_byo+"/"+n_fun+":"+n_byo:goto *mainloop title tt+" "+i_fun+":"+i_byo+"/"+n_fun+":"+n_byo goto *mainloop stop *syuuryo if wparam = 1 | wparam =2 { gsel wparam, -1 stop } end *sankaku goto ,*hata stop

それと、できれば『プレイリストの保存』と、『音量調節バー』この二つもできれば教えてはもらえないでしょうか。
自分が無知ですいません。
では、よろしくお願いします。



この記事に返信する


レヴィン

リンク

2008/10/14(Tue) 13:57:49|NO.20143

>>音量調節バー
トラックバーでできます。

>>プレイリストの保存
変数fullpathをnotesaveで保存

>>最後までいったら次へ
再生開始時に音声の長さを取得し、変数に保存
(ただし、再生中は取得しないように注意。今再生している曲の長さが消えてしまうから)。
その後、常に再生位置を監視し、最後の位置にシークが来たら次へ

って処理を書いて下さい。どこに書くかは自分で考えましょう。

↓mciコマンドはこちらを参照↓
http://www.e-douguya.com/eq/tech/mci.shtml



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