2014-07-12 65 views
0

所以我正在寫一個鼓墊: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() 

有按鈕作爲結果的網格,目的是讓他們的聲音不同,但我不知道該怎麼做。請幫忙。在此先感謝)另外,如果您在此代碼中看到任何缺點,請告訴我關於它們的信息,我是一名初學者。

+0

你做了什麼來做出一些聲音?你在'button_pressed'中有''button''爲什麼使用它? – furas

回答

0

播放音頻的簡單方法是使用kivy的soundloader

除此之外,我不清楚你的問題實際上是什麼。一般的答案是做一些事情,比如給每個GridAction自己的audio_file屬性,以保存一個你想要的聲音的文件路徑,並綁定on_press事件在這個位置播放聲音。