▽1
●
TransFreeBSD ●100ポイント ベストアンサー |
多分。全部は確認してない。
onexit *owari; 終了時の処理場所指定 screen 0,260,90; ウィンドウ設定 title "PSHxHSP PLAYER"; タイトル設定 cls 2; 表示消去 objsize 80, 20; サイズ設定 pos 10,10:button "OPEN",*psh_open; OPENボタン設置と処理指定 pos 90,10:button "PLAY",*psh_play; PLAYボタン設置と処理指定 pos 170,10:button "STOP",*psh_stop; STOPボタン設置と処理指定 ; mci "set HSP time format milliseconds" ; mciにHSPの時間設定?をミリ秒にする様に送信 color 0,0,0; 色設定 boxf 10,40,250,80; 枠設定 font "MS UI Gothic",11,1; フォント設定 stop; 操作待ち *psh_open; OPENボタン押されたら dialog "mp3",16,"MP3ファイル" ; ダイアログを表示 if stat=0:stop; ファイル選択されてなければ操作待ち file=refstr; ファイル名を記憶 mci "open \""+refstr+"\" type mpegvideo alias HSP" ; ファイルオープン ; mciにファイルをHSPという名前で?mpegvideoとして?開く様に送信 exist file; ファイルサイズを確認 sdim id3_data,0x80; 記憶場所を用意 bload file, id3_data,,strsize-0x80 ; ID3タグを確認 ; ファイル最後?の128バイトを読み込み color; 色設定 boxf 10,40,250,80; 枠設定 if wpeek(id3_data,0)!0x4154 : stop ; ID3タグでなければ?操作待ち color 0,$FF,$88; 色設定 getstr id3_title,id3_data,0x03 ; タイトル文字列を取り出す pos 20,45; 位置設定 mes id3_title; 文字列表示 getstr id3_artist,id3_data,0x21 ; アーティスト文字列を取り出す pos 20,65; 位置設定 mes id3_artist; 文字列表示 stop; 操作待ち *psh_play; PLAYボタン押されたら mci "play HSP" ; 再生; mciにHSPを再生する様に送信 repeat; 以下繰り返し mci "status HSP position" ; 再生時間取得 ; mciにHPSの再生位置を取得する様に送信 title "PSHxHSP PLAYER ["+strf("%02d",stat/1000/60)+":"+strf("%02d",stat/1000\60)+"]" ; 分:秒の付いたタイトル設定 await 100; 100ミリ秒?待つ loop; 以上繰り返し *psh_stop; STOPボタン押されたら mci "stop HSP" ; 再生停止; mciにHSPを再生停止する様に送信 stop; 操作待ち *owari; 終了するとき mci "close HSP" ; 解放; mciにHSPを閉じる様に送信 end; 終了