PySonic
Z Wikipedii
- Właściwy tytuł tego artykułu to pySonic. Z powodu ograniczeń technicznych tytuł tego artykułu jest nieprawidłowy.
pySonic to międzyplatformowa biblioteka dla języka Python będąca w pełni obiektowym wrapperem biblioteki FMOD. Pakiet pySonic stworzył i rozwija Peter Parente, rozpowszechnia go na licencji MIT, jednakże sam FMOD chroniony jest inną licencją.
[edytuj] Cechy
Biblioteka udostępnia nieskomplikowany i wygodny w użyciu obiektowy interfejs programistyczny. Składa się na niego kilka klas (Globals, Listener, Recorder, Reverb, Sample, Song, Source, Stream i World), a (prawie) cała funkcjonalność FMODa jest zawarta w metodach i właściwościach obiektów.
Stosując "pythonowe" (ang. pythonic) podejście do tematu autor starał się zawrzeć maksimum funkcjonalności, przy zachowaniu jak największej prostoty i czytelności, dzięki temu kod z użyciem pySonic powinien być zwięzły i przejrzysty.
[edytuj] Przykładowy kod
Poniższy kod to przetłumaczony na język polski przykład ze strony domowej pySonic:
import pySonic import time def finished_stream(source): print 'Koniec odtwarzania strumienia' # inicjalizacja systemu dźwięków w = pySonic.World() # utworzenie dwóch źródeł dźwięku src1 = pySonic.Source() src2 = pySonic.Source() # wczytanie jednego pliku do pamięci, strumieniowanie drugiego z dysku src1.Sound = pySonic.FileSample('short.wav') src2.Sound = pySonic.FileStream('long.mp3') # umiejscowienie źródeł w przestrzeni 3D src1.Position = (-0.5, 0.0, 0.5) src2.Position = (0.5, 0.0, 0.5) # zarejestrowanie funkcji callbackowej src2.SetEndStreamCallback(finished_stream) # odtworzenie dźwięków (równoczesne) src1.Play() src2.Play() # wstrzymanie wykonania na czas odtwarzania while src1.IsPlaying() or src2.IsPlaying(): time.sleep(1)