Difference between revisions of "Tutorial:Audio (Polski)"

(Created page with "W środowisku LÖVE, dźwięe 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 audi...")
 
(Kontrola dźwięków)
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
W środowisku LÖVE, dźwięe 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:
+
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:
 
<source lang="lua">
 
<source lang="lua">
 
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
 
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
Line 9: Line 9:
 
== Formaty ==
 
== Formaty ==
  
LÖVE obsługuje wiele formatów dźwiękowych dzięki modułowi [[love.sound]], który odpowiedzialny jest za ihc dekodowanie. Obsługiwane formaty obejmują:
+
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
 
* mp3
Line 32: Line 32:
 
src2 = love.audio.newSource("bgm.mp3")
 
src2 = love.audio.newSource("bgm.mp3")
  
src1:setVolume(0.9) -- 90% of normalnej głośności volume
+
src1:setVolume(0.9) -- 90% of normalnej głośności
 
src1:setPitch(0.5) -- obniż o oktawę
 
src1:setPitch(0.5) -- obniż o oktawę
 
src2:setVolume(0.7)
 
src2:setVolume(0.7)

Latest revision as of 16:22, 9 December 2013

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)

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ż

Other Languages