Tutorial:Audio (日本語)

LÖVE では、音声は love.audio モジュールの領域であり、OpenAL を使用して再生されます。 love.audio には単一の音声オブジェクト型 - Source があります。このようにすると音声を読み込んで再生することができます:

sound = love.audio.newSource("pling.wav", "static") -- "static" はファイルを一括でメモリへ読み込むことを LÖVE に指定します。短い効果音に対して適しています。
music = love.audio.newSource("techno.ogg") -- "static" を省略した場合は、ファイルを段階的にメモリへ読み込むことを LÖVE に指定します。長めの楽曲に対して適しています。
sound:play()
music:play()

対応形式

LÖVE は love.sound モジュールのお陰で、多数の音声形式に対応しており、全て復号化して扱います。次のものが対応形式として該当します:

推奨形式は Ogg Vorbis および 16-bit WAVE です。その他の形式は細かい部分で奇癖がある場合があります。例えば MP3 復号器では、使用された符号器に依存するサンプルへ詰め物を挿入する場合があります。これらの問題は音声ファイルを復号化するために LOVE が使用しているライブラリによるものであり LÖVE 内部で直接的な修正を行うことができません。

静的と段階的の比較

留意して欲しいことは、 love.audio.newSource の第二引数へ "static" を渡した場合は、音声ファイルはメモリへ展開されるため、従ってこの方法にて 5MB の .ogg ファイルを読み込むと、 RAM を ~50MB ほど消費して展開されてしまいます。このような場合は "static" を使用しないことを考慮してください。

"static" を省略した場合は音声ファイルは演奏しながら段階的に読み込まれるため、重量級のファイルを取り扱う場合は多くのメモリを節約することができます。

音声制御

一時停止、停止、音量の変更、繰り返し、音程変更、などを行うには、単純に Source の関連メソッドを呼び出します。

src1 = love.audio.newSource("bang.wav", "static")
src2 = love.audio.newSource("bgm.mp3")


src1:setVolume(0.9) -- 通常音量を 90% にします。
src1:setPitch(0.5) -- 1オクターブ下げます。
src2:setVolume(0.7)

src1:play()
src2:play()

さらなる詳細情報は Source のドキュメンテーション にて見つけることができます。

関連

そのほかの言語