[英]Python Kivy: Play sound multiple times at once
我正在將Python Kivy用於Android游戲。 我想在事件上播放聲音
sound = SoundLoader.load("sound.wav")
def onEvent():
sound.play()
,並且有效。 但是現在的問題是:當然可以發生一個事件,在我看來,從最后一個事件開始播放聲音之前,事件將再次發生。 由於聲音是基於播放/暫停的想法,因此在一次播放同一對象的多個聲音時遇到了問題。 首先可以這樣解決:
onEvent():
SoundLoader.load("sound.wav").play()
由於這將始終創建一個新對象,因此能夠在另一個事件播放聲音的同時播放它。 但是使用此方法的問題非常明顯,因為每次事件發生時都必須加載聲音,因此會導致播放之前的延遲。
有沒有更有用的方法來做到這一點?
{如果您不明白我在說什么,或者只是看不到問題,請隨時提問}
您可以通過加載聲音的多個實例來解決此問題。 例如
sounds = [SoundLoader.load("sound.wav") for _ in range(10)]
index = 0
接着
def play():
sounds[index].play()
index = (index + 1) % len(sounds)
您加載的聲音越多,您可以同時播放更多實例(在此示例中為10)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.