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

2024-06-30 05:21:57 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我在写一个鼓垫:

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()

结果是有一个网格按钮,目的是让它们听起来不同,但我不知道怎么做。求你了,救命。另外,如果你在这段代码中看到任何缺点,请告诉我,我是初学者。在


Tags: fromimportselfappdefbuttonactionclass
1条回答
网友
1楼 · 发布于 2024-06-30 05:21:57

播放音频的一个简单方法是使用kivy的soundloader。在

除此之外,我不清楚你的问题到底是什么。一般的答案是这样做,比如给每个GridAction赋予自己的audio_file属性,其中包含指向所需声音的文件路径,并绑定on_press事件以在该位置播放声音。在

相关问题 更多 >