Kivy:如何让每个按钮播放不同的声音

时间:2014-07-12 19:16:42

标签: python audio kivy

所以我正在写一个鼓垫:

from kivy.app import App
from kivy.uix.label import Label
from kivy.uix.gridlayout import GridLayout
from kivy.uix.button import Button
from kivy.core.audio import SoundLoader


class GridAction(Button):
    pass


class MakingGrid(GridLayout):

    def __init__(self, *args, **kwargs):
        super(MakingGrid, self).__init__(*args, **kwargs)

        for i in range(16):
            grid_action = GridAction()
            grid_action.bind(on_release=self.button_pressed)
            self.add_widget(grid_action)

    def button_pressed(self, button):
        print('pressed')


class MyApp(App):
    def build(self):
        return MakingGrid(cols=4)


if __name__ == "__main__":
    MyApp().run()

结果有一个按钮网格,目的是使它们听起来不同,但我不知道如何做到这一点。请帮忙。在此先感谢)另外,如果您在此代码中看到任何缺点,请告诉我他们,我是初学者。

1 个答案:

答案 0 :(得分:0)

播放音频的一种简单方法是使用kivy的soundloader

除此之外,我不清楚你的问题究竟是什么。一般的答案是做一些事情,例如给每个GridAction提供一个自己的audio_file属性,保存一个文件路径到你想要的声音,然后绑定on_press事件,在这个位置播放声音。