音楽再生サンプル

概要

tutorialsに"songs and events"という「振ると音楽をランダム再生」というものがありますが、これが何故かエラーで使えません(IS12Tだけ?)。

でもとても簡単なので自分で作ってみましょう。
「振ると端末内の曲をランダム再生、もう一度振ると停止」という動作にします。

"//"で始まるコメント行は入力する必要ありません。

data

変数名 種別 初期値 説明
p NUM 0 現在演奏中なら1

NUMじゃなくてBooleanでもいいです。今回はNUMで。

actions

初期化処理
  • action main()
    • // 前回終了時の値が残ったままなので、ここで初期値を入れておく
    • data → p := 0

再生用サブルーチン
  • action play_rand()
    • // 端末に入っている曲数をmに格納
    • var m := media → ♬songs → count
    • // 0~m-1までの乱数をaに格納(曲数10なら0~9のどれかが入る)
    • var a := math → rand(m)
    • // 曲番号aの曲名を表示
    • media → ♬songs → at(a) → name → post to wall
    • // 曲番号aの曲を再生
    • media → ♬songs → at(a) → play
    • // グローバル変数pを1にして再生中であることを示す
    • data → p := 1

停止用サブルーチン
  • action play_stop()
    • // 曲を停止
    • player → stop
    • // グローバル変数pを0にして停止中であることを示す
    • data → p := 0
    • // stopと表示
    • "stop" → post to wall

events

端末が振られたときの処理
  • event shake()
    • // 再生中か?
    • if data → p = 1 then
      • // 再生中なら停止用サブルーチンをコール
      • code → play_stop
    • else
      • // 停止中なら再生用サブルーチンをコール
      • code → play_rand
最終更新:2011年10月26日 18:21