我是弗朗西斯科·奥尔金,来自智利的平面设计师。我在大学做最后一个项目。目前,我已经在Raspberrypi3上使用Python为按钮分配了声音
import RPi.GPIO as GPIO
import os
GPIO.setmode(GPIO.BCM)
GPIO.setup(4, GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.setup(5, GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.setup(6, GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.setup(7, GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.setup(8, GPIO.IN, pull_up_down=GPIO.PUD_UP)
while True:
input_state = GPIO.input(4)
if input_state == False:
print('Tutorial')
os.system('killall mpg123')
os.system('mpg123 -q audio1.mp3 &')
time.sleep(0.2)
input_state = GPIO.input(5)
if input_state == False:
print('I Regíon')
os.system('killall mpg123')
os.system('mpg123 -q audio2.mp3 &')
time.sleep(0.2)
input_state = GPIO.input(6)
if input_state == False:
print('II Regíon')
os.system('killall mpg123')
os.system('mpg123 -q audio3.mp3 &')
time.sleep(0.2)
input_state = GPIO.input(7)
if input_state == False:
print('XI Regíon')
os.system('killall mpg123')
os.system('mpg123 -q audio4.mp3 &')
time.sleep(0.2)
input_state = GPIO.input(8)
if input_state == False:
print('X Regíon')
os.system('killall mpg123')
os.system('mpg123 -q audio5.mp3 &')
time.sleep(0.2)
这将为按下按钮时播放的按钮分配5个音频。从这里开始一切都很好,但这是我的问题。 我有5个按钮与指定的音频,所以我想知道是否有可能分配另外5个音频相同的按钮时,按下另一个按钮(我希望你能理解)。为了解释这一点,我有这样的图像:
这个想法是通过按“1”按钮可以播放a1b1c1d1e1声音(对应于分配给声音的5个按钮) 按“2”键,您可以播放a2b2c2d2e2声音,依此类推,直到按“5”键
如果有人知道一些方法,能够以一种“简单”的方式做到这一点,那就太好了(除了我已经做过的以外,我对python了解不多)
非常感谢你,我的英语很差
我不太明白你的要求,但我理解为当按下数字“1”时,想要改变与所有按钮相关的声音,例如按下“2”会将声音“a2”分配给按钮“a”。为此,在while循环外放置一个变量,该变量指示应使用哪组声音,并为5个音频按钮中的每一个设置一个数组,该数组包含该按钮所需的声音集。例如,假设您默认为a1b1c1d1e1,然后有如下内容:
然后只需为你的5个新按钮添加外壳,并让它们相应地更改声音索引
编辑: 代码如下:
这个问题有许多解决办法。Python是一种相当直截了当的语言,因此一旦您提出了问题的通用解决方案,语法就不应该限制您
相关问题 更多 >
编程相关推荐