Tutorial:Audio (日本語)

LÖVEのオーディオはlove.audioモジュール内で、OpenALを利用して再生されます。love.audioはSourceという単一のオーディオオブジェクトを持っています。下記のようにして、読み込んで再生できます。

sound = love.audio.newSource("pling.wav", "static") -- the "static" tells LÖVE to load the file into memory, good for short sound effects
music = love.audio.newSource("techno.ogg") -- if "static" is omitted, LÖVE will stream the file from disk, good for longer music tracks
love.audio.play(sound)
love.audio.play(music)

フォーマットについて

LÖVEは沢山のオーディオフォーマットに対応しています。ありがとう、love.sound。対応しているファイルフォーマットは下記の通りです。

  • MP3
  • OGG
  • WAV
  • 他にもいわゆる「tracker」フォーマット - XM, MIDI, MODの他、12種類ものフォーマットに対応しています。(訳者注:trackerは日本国外ではわりと著名な音楽制作ソフトの1カテゴリなんですが、日本でマニアックなフォーマットかも。ご注意。)

静的読み込み vs. ストリーミング

love.audio.newSourceの第二引数"static"にご注意。静的読み込みモードを示すこの指定を行うと、サウンドファイルはメモリに読み込まれるのですが、5MBの.ogg圧縮フォーマットを展開すると50MBにもなります。このことは熟慮が必要なケースがあります。 この"static"指定を省くと、ストリーミング再生するようになります。特に大きなファイルを再生するとき、メモリ消費量を大きく抑えることができます。

オーディオコントロール

一時停止、停止、音量変更、ループ、ピッチ、などなど……オーディオオブジェクトSourceの備えるシンプルなメソッドを呼ぶだけで、簡単に制御できます。

src1 = love.audio.newSource("bang.wav", "static")
src2 = love.audio.newSource("bgm.mp3")
 
src1:setVolume(0.9) -- 90% of ordinary volume
src1:setPitch(0.5) -- one octave lower
src2:setVolume(0.7)
 
love.audio.play(src1)
love.audio.play(src2)

その他の詳細についてはSourceのドキュメントから参照できます。



その他の言語