鳴らしたいサウンドファイルをセットする

構文 sound.setSoundFile(サウンドファイル名, サウンド番号(0~7), BGM・効果音フラグ ) 戻り値: セット結果
説明 鳴らしたいサウンドファイルをセットするコマンドです。セット時にサウンド番号とBGMフラグをセットします。
引数 サウンドファイル名: サウンドファイルは、oggやmp3ファイルです。未確認ですが以下のファイルも再生できるっぽいです。(wav、3gp、mp4、m4a、mid、xmf、mxmf、rtttl、rtx、ota、imy)
サウンド番号: サウンド番号は0~7番にセットできます。再生などにこの番号を指定します。
BGM・効果音フラグ: 0:BGM、1:効果音。
ファイルセット時に、BGMとして鳴らすか、効果音として鳴らすかを設定します。BGMは多重に鳴らすことができません。効果音は多重に鳴らすことができます。sound.satrt()を呼ぶたびに何重にも音が鳴ります。ただし、多重に鳴らせるのは4つまでです。
戻り値 セット結果: 0:ファイルのセット成功、-1:失敗

------------------------------------------
-- 鳴らしたいサウンドファイルをセットのサンプル sound_setSoundFile_sample.lua
------------------------------------------
function main()
 
  local x,y
  x = 0
  y = 0
  Path = system.getAppPath().. "/"
  local w,h 
  w,h = canvas.getviewSize()
 
  canvas.drawCls(color(255, 255, 255))  -- white
  canvas.drawText("鳴らしたいサウンドファイルをセットのサンプル", 0, 0, 24, color(0,0,0))
 
  canvas.drawText("Oniichan_CD_Track13_sample.ogg",0,50,24,color(0,0,0))
  canvas.drawText("Japanese_nightingale_note01.ogg",0,100,24,color(0,0,0))
  canvas.drawText("file not found.ogg",0,150,24,color(0,0,0))
  canvas.drawText("終了",0,200,24,color(0,0,0))
 
  canvas.drawText("サウンドファイルをタッチして下さい",0,250,24,color(0,0,0))
 
  while not (y >= 200 and y <= 250) do
    x,y,mode = touch(0)
    if(y >= 50 and y <= 99) then
      if (sound.setSoundFile(Path.."Oniichan_CD_Track13_sample.ogg", 0, 1) == -1) then
        msg = "ロードエラー Oniichan_CD_Track13_sample.ogg "
      else
        msg = "セットOK Oniichan_CD_Track13_sample.ogg"
      end
    elseif(y >= 100 and y <= 149) then
      if (sound.setSoundFile(Path.."Japanese_nightingale_note01.ogg", 0, 1) == -1) then
        msg = "ロードエラー Japanese_nightingale_note01.ogg"
      else
        msg = "セットOK Japanese_nightingale_note01.ogg"
      end
    elseif (y >= 150 and y <= 199) then
      if (sound.setSoundFile(Path.."file not found.ogg", 0, 1 ) == -1) then
        msg = "ロードエラー file not found.ogg"
      else
        msg = "セットOK file not found.ogg"
      end
    else
        msg = ""
    end
    canvas.putRect(0,300,w,330,color(255, 255, 255),1)
    canvas.drawText(msg,0,300,24,color(0,0,0),color(255, 255, 255))
  end
 
  canvas.drawText("画面タッチで終了します。", 0, 350, 24, color(0,0,0))
  touch(3)
end
 
main()
 

このサンプルで使用したファイルは、
「Japanese_nightingale_note01.ogg」 は、
http://ja.wikipedia.org/wiki/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:Japanese_nightingale_note01.ogg
からダウンロードして、luaridaフォルダに入れて下さい。
「Oniichan_CD_Track13_sample.ogg」 は、
http://ja.wikipedia.org/wiki/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:Oniichan_CD_Track13_sample.ogg
からダウンロードして、luaridaフォルダに入れて下さい。
「file not found.ogg」 は、
読み込み失敗例のため、ファイルはありません。



コメント(最大10行)
  • sound.setSoundFile()をしないで、sound.satrt()を呼ぶとLuaridaが落ちるというバグがあります。v1.76Betaでは対応済なのですが、リリースが遅れています。来月には何とかリリースしたいと思います。 -- (たろサ) 2011-11-17 23:58:27
名前:
コメント

すべてのコメントを見る



タグ:

+ タグ編集
  • タグ:
最終更新:2011年11月16日 21:56
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。