Tutorial:Audio (Tiếng Việt)

Trong LÖVE, âm thanh thuộc về phạm vi của module love.audio, vốn dùng OpenAL để playback. love.audio chỉ có một kiểu dữ liệu biểu thị đối tượng âm thanh - đó là Source. Bạn có thể nạp dữ liệu âm thanh và phát nó như sau:

sound = love.audio.newSource("pling.wav", "static") -- từ "static" chỉ định cho LÖVE nạp file vào bộ nhớ, cách này phù hợp với các đoạn âm thanh ngắn
music = love.audio.newSource("techno.ogg") -- nếu ta bỏ qua "static", LÖVE sex truyền nội dung file âm thanh từ đĩa, cách này thích hợp với những bản nhạc dài
love.audio.play(sound)
love.audio.play(music)

Định dạng

LÖVE hỗ trợ nhiều định dạng âm thanh, nhờ vào module love.sound; module này xử lý toàn bộ khâu giải mã. Các định dạng được hỗ trợ bao gồm:

  • MP3
  • OGG
  • WAV
  • và gần như tất cả định dạng nào mà bạn có thể nhớ ra - XM, MIDI, MOD, và khoảng 20 dạng khác nữa.

(Tuy vậy, cần lưu ý rằng dường như chỉ có dạng OGG là được playback mà không gặp trục trặc gì.)

Hình thức tĩnh tại (static) so với truyền âm thanh (streaming)

Lưu ý rằng, nếu bạn cho "static" làm đối số thứ hai của love.audio.newSource thì file âm thanh sẽ được giãn ra bộ nhớ máy tính, vì vậy nếu bạn nạp file nén .ogg với dung lượng 5MB theo cách này, nó sẽ chiếm khoảng 50MB RAM khi giải nén xong. Với trường hợp như vậy, hãy xét đến việc không dùng "static".

Nếu bạn bỏ qua "static", âm thanh sẽ được truyền dần từ file trong quá trình phát, việc này giúp tiết kiệm rất nhiều bộ nhớ khi bạn dùng đến những file lớn.

Điều khiển âm thanh

Để tạm dừng, dừng hẳn, tăng giảm âm lượng, quay vòng, thay đổi độ cao, v.v., bạn chỉ cần gọi phương thức tương ứng của một đối tượng Source.

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

src1:setVolume(0.9) -- 90% âm lượng bình thường
src1:setPitch(0.5) -- thấp hơn một quãng tám
src2:setVolume(0.7)

love.audio.play(src1)
love.audio.play(src2)

Bạn có thể xem thêm chi tiết ở tài liệu hướng dẫn Source.

Xem thêm

  • TEsound - Chương trình quản lý âm thanh, giúp ta dễ sử dụng hiệu ứng âm thanh và nhạc hơn
  • Minimalist Sound Manager - Một đoạn mã lệnh sử dụng love.audio để dễ dàng quản lý nguồn âm thanh một cách tự động

Ngôn ngữ khác