HSPプログラミングMCIの利用について。

このページ↓
http://www1.mukade.jp/mci.html
に簡易MP3プレーヤーのソースが書いてありますが、
どのような処理を行っているのか分からないところがあるので教えて下さい。
一行一行詳しく説明して下さるとありがたいです。

お願いします。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2012/08/25 21:34:59
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:TransFreeBSD No.1

回答回数668ベストアンサー獲得回数268

ポイント100pt

多分。全部は確認してない。

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				; 終了

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません