因为我在这里没有找到任何东西,所以我试着提出我的问题。
我正在尝试在 kivy 中构建一个简单的节拍器。我基本上采用了安装时提供的音频示例,并且想添加节拍器功能。
class AudioButton(ToggleButton):
filename = StringProperty(None)
sound = ObjectProperty(None)
def on_filename(self, instance, value):
# the first time that the filename is set, we are loading the sample
if self.sound is None:
self.sound = SoundLoader.load(value)
def on_press(self):
# stop the sound if it's currently playing
if self.sound.status != 'stop':
self.sound.stop()
self.sound.play()
如您所见,我将课程从 更改Button
为ToggleButton
。
我试图用 放一个while
循环self.sound.play()
,但这会导致无穷大,所以基本上我正在寻找一种方法来打破循环,如果我再次按下按钮。
我并没有真正理解文档中的事件循环管理,我认为这应该是答案,但我以前从未使用过事件循环。如果有人可以为这种情况提供一些示例代码,那就太好了。