Study
LÖVE2D

Suara & Musik (love.audio)

Penjelasan

Modul `love.audio` menangani pemutaran suara lewat objek `Source` yang dibuat dengan `love.audio.newSource(file, tipe)`. Tipe `"static"` cocok untuk efek suara pendek (loncat, tembak) karena dimuat penuh ke memori dan bisa diputar berulang cepat, sedangkan tipe `"stream"` cocok untuk musik latar berdurasi panjang karena dibaca sedikit demi sedikit dari disk. Source punya method seperti `play()`, `stop()`, `setLooping(true)`, dan `setVolume()` untuk mengontrol pemutaran, memberi fleksibilitas seperti mengulang musik latar terus-menerus sementara efek suara hanya diputar sekali tiap event terjadi.

Contoh Konsep

local suaraLompat
local musikLatar

function love.load()
    suaraLompat = love.audio.newSource("lompat.wav", "static")
    musikLatar = love.audio.newSource("musik.mp3", "stream")
    musikLatar:setLooping(true)
    musikLatar:setVolume(0.5)
    musikLatar:play()
end

function love.keypressed(key)
    if key == "space" then
        suaraLompat:play()
    end
end

Praktikum

Muat efek suara "koin.wav" sebagai static dan musik latar "latar.mp3" sebagai stream yang looping otomatis diputar saat game dimulai.

Editor Latihan

Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.

Tips

Panggil `suaraLompat:stop()` sebelum `suaraLompat:play()` kalau ingin suara langsung mengulang dari awal walau belum selesai diputar, misalnya untuk efek tembakan beruntun.