Tutorial:Audio (Polski)
W środowisku LÖVE, dźwięk jest domeną modułu love.audio. Moduł ten używa biblioteki OpenAL do odtwarzania dźwięków. love.audio ma tylko jeden rodzaj obiektów audio Source_(Polski) (ang. żródło). Można łatwo załadować i odtwarzać dźwięki w następujący sposób:
efekt = love.audio.newSource("pling.wav", "static") -- "static" mówi LÖVE, by załadować (i przechowywać) plik do pamięci, dobre dla krótkich, często używanych dźwięków
muzyka = love.audio.newSource("techno.ogg") -- jeżeli "static" jest pominięte, LÖVE będzie ładował plik z dysku w trakcie odtwarzania, właściwe dla podkładów muzycznych
love.audio.play(efekt)
love.audio.play(muzyka)
Contents
Formaty
LÖVE obsługuje wiele formatów dźwiękowych dzięki modułowi love.sound, który odpowiedzialny jest za ich dekodowanie. Obsługiwane formaty obejmują:
- mp3
- Ogg Vorbis
- WAVE
- i chyba każdy format modułów (muzycznych), jaki jest w stanie przyjść do głowy - XM, MOD, i ponad dwadzieścia innych.
Zalecanym formatem jest Ogg Vorbis. Pozostałe mogą mieć drobne osobliwości. Na przykład, decoder formatu WAVE dodaje kilka sekund (?) ciszy na końcu a dekoder mp3 może dopełniać niektóre sample, w zależności od tego, jaki program został użyty do zakodowania. Te problemy mają swoje żródło w bibliotekach, z których korzysta LÖVE do dekodowania plików audio i nie mogą być naprawione po stronie samego frameworka.
Statyczne kontra Strumieniowanie
Miej na uwadze, że podanie "static" jako drugiego parametru do funkcji love.audio.newSource
"static", spowoduje, że dźwięk ten zostanie zdekodowany w pamięci do 'pełnej' postaci. Tak więc, załadowanie skompresowanego pliku .ogg o wielkości 5MB, może pochłonąć ~50MB pamięci. W takich przypadkach dobrze się zastanów nad użyciem "static".
Jeśli ominiesz "static", dźwięk będzie strumieniowany z dysku w trakcie odgrywania. Pozwala to na zaoszczędzenie pamięci w przypadku dużych plików audio.
Kontrola dźwięków
By spauzować, zatrzymać, zmienić głośność, zapętlić itp., itd., wystarczy wywołać odpowiednie metody obiektu Source_(Polski).
src1 = love.audio.newSource("bang.wav", "static")
src2 = love.audio.newSource("bgm.mp3")
src1:setVolume(0.9) -- 90% of normalnej głośności
src1:setPitch(0.5) -- obniż o oktawę
src2:setVolume(0.7)
love.audio.play(src1)
love.audio.play(src2)
Więcej szczegółów znajdziesz w dokumentacji obiektu Source.
Zobacz również
- TEsound - Menadżer dźwięku, który ułatwia korzystanie z efektów i muzyki
- Minimalist Sound Manager - snippet który ułatwia korzystanie z modułu love.audio i sam zarządza obiektami.
Other Languages
Dansk –
Deutsch –
English –
Español –
Français –
Indonesia –
Italiano –
Lietuviškai –
Magyar –
Nederlands –
Polski –
Português –
Română –
Slovenský –
Suomi –
Svenska –
Türkçe –
Česky –
Ελληνικά –
Български –
Русский –
Српски –
Українська –
עברית –
ไทย –
日本語 –
正體中文 –
简体中文 –
Tiếng Việt –
한국어
More info