0
我正在看Python的PyOpenAL的一些聲音需求(顯然)。文檔是稀疏的(包括一個演示腳本,它不能不改變),但據我所知,有兩層。直接包裝OpenAL調用和一個輕量級的'pythonic'包裝 - 這是我關心的後者。具體來說,你如何正確清理?如果我們取一個小例子:使用PyOpenAL時清理的正確方法是什麼?
import time
import pyopenal
pyopenal.init(None)
l = pyopenal.Listener(22050)
b = pyopenal.WaveBuffer("somefile.wav")
s = pyopenal.Source()
s.buffer = b
s.looping = False
s.play()
while s.get_state() == pyopenal.AL_PLAYING:
time.sleep(1)
pyopenal.quit()
因爲它是,被印刷在沿着「沒有被刪除,一個緩衝器不刪除一個源」的線的終端的消息。但是我假設我們不能使用這些對象的本地OpenAL調用,那麼如何正確清理?
編輯:
我最終只是拋棄pyopenal並寫了一個小的ctypes包裝器上的OpenAL和alure(pyopenal公開直OpenAL的功能,但我一直得到SIGFPE)。仍然好奇我在這裏應該做什麼。
有道理。我沒有安裝PyOpenAL ATM,所以我會接受你的話。 – Bernard 2009-08-18 14:13:48