#!/usr/bin/python3 from gpiozero import Button import pygame.mixer from pygame.mixer import Sound from signal import pause pygame.mixer.init() button_sounds = { Button(6): Sound("samples/drum_tom_hard.wav"), Button(19): Sound(""), } for button, sound in button_sounds.items(): button.when_pressed = sound.play pause()
screen = pygame.display.set_mode((300, 150), 0, 32) # 加载字体 (使用系统字体) font = pygame.font.SysFont('arial', 16) # 运行标志 running = True text = 'Play music with any keydown' clock = pygame.time.Clock() ''' 初始化音频播放器 ''' # 初始化 pygame.mixer.init() # 加载音效 sound = Sound('eat.wav') # 1. 游戏死循环 while running: # 2. 获取事件流 for event in pygame.event.get(): # 3. 处理事件流 if event.type == QUIT: # 结束运行 running = False elif event.type == KEYDOWN: # 播放音频 sound.play() # 2.1 屏幕填充白色 (Red,Green,Blue) 颜色取值范围:0~0xff screen.fill((0xff, 0xff, 0xff))
def setup(self, all_sprites): all_sprites.add(LcarsBackgroundImage("assets/lcars_screen_2.png"), layer=0) all_sprites.add(LcarsGifImage("assets/gadgets/stlogorotating.gif", (103, 369), 50), layer=0) all_sprites.add(LcarsText(colours.ORANGE, (270, -1), "AUTHORIZATION REQUIRED", 2), layer=0) all_sprites.add(LcarsText( colours.BLUE, (330, -1), "ONLY AUTHORIZED PERSONNEL MAY ACCESS THIS TERMINAL", 1.5), layer=1) all_sprites.add(LcarsText(colours.BLUE, (360, -1), "TOUCH TERMINAL TO PROCEED", 1.5), layer=1) #all_sprites.add(LcarsText(colours.BLUE, (390, -1), "FAILED ATTEMPTS WILL BE REPORTED", 1.5),layer=1) all_sprites.add(LcarsButton(colours.GREY_BLUE, (320, 130), "1", self.num_1), layer=2) all_sprites.add(LcarsButton(colours.GREY_BLUE, (370, 130), "2", self.num_2), layer=2) all_sprites.add(LcarsButton(colours.GREY_BLUE, (320, 270), "3", self.num_3), layer=2) all_sprites.add(LcarsButton(colours.GREY_BLUE, (370, 270), "4", self.num_4), layer=2) all_sprites.add(LcarsButton(colours.GREY_BLUE, (320, 410), "5", self.num_5), layer=2) all_sprites.add(LcarsButton(colours.GREY_BLUE, (370, 410), "6", self.num_6), layer=2) all_sprites.add(LcarsButton(colours.GREY_BLUE, (320, 550), "7", self.num_7), layer=2) all_sprites.add(LcarsButton(colours.GREY_BLUE, (370, 550), "8", self.num_8), layer=2) self.layer1 = all_sprites.get_sprites_from_layer(1) self.layer2 = all_sprites.get_sprites_from_layer(2) # sounds Sound("assets/audio/panel/215.wav").play() self.sound_granted = Sound("assets/audio/accessing.wav") self.sound_beep1 = Sound("assets/audio/panel/201.wav") self.sound_denied = Sound("assets/audio/access_denied.wav") self.sound_deny1 = Sound("assets/audio/deny_1.wav") self.sound_deny2 = Sound("assets/audio/deny_2.wav") ############ # SET PIN CODE WITH THIS VARIABLE ############ self.pin = 1984 ############ self.reset()
position[1]) pre_init(44100, -16, 1) pygame.init() pygame.display.set_icon(pygame.image.load('img/icon.png')) result_window = pygame.display.set_mode((1500, 1000)) pygame.display.set_caption('Pong') result_window.fill(ColorPalette.Background) return result_window window = init_window() win_w, win_h = window.get_size() text_surface = None fps_font = pygame.font.SysFont('couriernew', 20) big_font = pygame.font.SysFont('couriernew', 60) hit_wall_sound = Sound( precompute(one_period_square_wave_samples, frequency=226, milliseconds=16)) hit_wall_sound.set_volume(.1) hit_paddle_sound = Sound( precompute(one_period_square_wave_samples, frequency=459, milliseconds=96)) hit_paddle_sound.set_volume(.1) goal_sound = Sound( precompute(one_period_square_wave_samples, frequency=490, milliseconds=257)) goal_sound.set_volume(.1) field_size = Size(width=180, height=100) left_paddle = Paddle(10) right_paddle = Paddle(170) ball = Ball() ball.kick_off(None) left_direction, right_direction = None, None score = (0, 0)
def __init__(self, note: str, duration: int = QUARTER_NOTE): self.duration = duration self.note = note self.__sound = Sound(get_piano_note_sound_path(note))
def load_sound(name): path = f"assets/sounds/{name}.wav" return Sound(path)
def __init__(self, x, y, box_size): super().__init__(x, y, box_size) self.color = (0, 0, 255) self.sound = Sound('sound/blue.wav')
def load(self, filename: str) -> None: self.length = Sound(filename).get_length() self.offset = 0 pgmusic.load(filename) self.status = Status.stopped
import pygame.mixer from pygame.mixer import Sound from signal import pause from gpiozero import Button pygame.mixer.init() button_sounds = { Button(2): Sound("File 1.wav"), Button(3): Sound("File 2.wav"), } for button, sound in button_sounds.items(): button.when_pressed = pygame.mixer.stop button.when_released = sound.play pause()
bgArcadeGameOver = load(join(f_backgrounds, 'Bg_Game_Over.png')).convert_alpha() bgArcadeLose = load(join(f_backgrounds, 'Arcade_Lose.png')).convert_alpha() imgPause = load(join(f_pause, 'Image_pause.png')).convert_alpha() imgLoad = load(join(f_load, 'loading.png')).convert_alpha() imgCrash = load(join(f_gameOver, 'Crash.png')).convert_alpha() imgBusted = load(join(f_gameOver, 'Busted.png')).convert_alpha() imgGameOverPolice = load(join(f_gameOver, 'Your_Busted.png')).convert_alpha() imgGameOverCrash = load(join(f_gameOver, 'Your_Crash.png')).convert_alpha() imgLowFuel = load(join(f_items, 'Low_Fuel.png')).convert_alpha() imgCars = load(join(f_vehicleSelected, 'Select_Car.png')).convert_alpha() imgCredits = load(join(f_credits, 'Credits_Image.png')).convert_alpha() imgHowToPlay = load(join(f_howToPlay, 'How_To_Play.png')).convert_alpha() imgHighScore = load(join(f_highScore, 'Best_Scores.png')).convert_alpha() imgBonus1 = load(join(f_items, 'Bonus_1.png')).convert_alpha() imgBonus2 = load(join(f_items, 'Bonus_2.png')).convert_alpha() imgBonus3 = load(join(f_items, 'Bonus_3.png')).convert_alpha() # ---------- Assets creation - sounds init() sfxCrash = Sound(join(f_sfx, 'Crash.ogg')) sfxBusted = Sound(join(f_sfx, 'Busted.ogg')) sfxLowFuel = Sound(join(f_sfx, 'Low_Gasoline.ogg')) sfxButtonClick = Sound(join(f_sfx, 'Button_Click.ogg')) sfxBloodPorky = Sound(join(f_sfx, 'Porky.ogg')) sfxBloodOldWoman = Sound(join(f_sfx, 'Gloria.ogg')) sfxBloodPolice = Sound(join(f_sfx, 'Police.ogg')) sfxCat = Sound(join(f_sfx, 'Cat.ogg')) sfxPowerUp = Sound(join(f_sfx, 'Fuel_PowerUp.ogg'))
import pygame.mixer from pygame.mixer import Sound from gpiozero import Button from signal import pause pygame.mixer.init() button_sounds = { Button(2): Sound("samples/drum_tom_mid_hard.wav"), Button(3): Sound("samples/drum_cymbal_open.wav"), Button(4): Sound("samples/elec_bell.wav"), Button(14): Sound("samples/elec_hi_snare.wav"), } for button, sound in button_sounds.items(): button.when_pressed = sound.play pause()
def play_sound(filename): global SOUND_PATH Sound(SOUND_PATH + filename).play()
from gpiozero import Button import pygame.mixer from pygame.mixer import Sound from signal import pause pygame.mixer.init() button_sound = { Button(17): Sound("samples/drum_tom_mid_hard.wav"), } for button, sound in button_sound.items(): button.when_pressed = sound.play pause()
while i > score: i -= 1 self.value = i sleep(0.08) if score == 0: self.score.text_color = 'lime' while True: sleep(0.5) self.score.value = '' sleep(0.5) self.score.value = '0' thread = Thread(target=animate) thread.start() pygame.mixer.init() sound = Sound('{}/sounds/pointless_countdown.wav'.format(path)) app = App("Pi-ointless", width=1200, height=1000, layout="grid", bg=bg) teams = ('lauren', 'maria', 'emily', 'philip', 'rik', 'matt', 'giustina', 'eva') sliders = [PointlessSlider(app, n=n, team=team) for n, team in enumerate(teams)] scores = '81 27 46 x 0 91 42 88'.split(" ") #scores = input("Enter scores: ").split(" ") for slider, score in zip(sliders, scores): slider.slide_to(score)
def __init__(self, parent_component=NullComponent(), sound_file_path=''): self.sound_file_path = sound_file_path self.parent = parent_component self.sound = Sound(sound_file_path) self.start_time = 0
import pygame.mixer from pygame.mixer import Sound from gpiozero import Button from signal import pause pygame.mixer.init() button_sounds = { Button(18): Sound("Music/twinkle_star.wav"), Button(23): Sound("Music/jingle_bells.wav"), Button(24): Sound("Music/baby.wav"), } for button, sound in button_sounds.items(): button.when_pressed = sound.play
if t < period / 2: sample_list[i][t] = amplitude else: sample_list[i][t] = -amplitude # Mix the sample arrays together into one. # Since each cycle is a different length, # use mod to loop back through the cycle instead of overflowing. # Make an empty sound of length play_time in seconds... final_sample = array("h", [0] * play_time * rate) # ...and sum the samples in samples_list into it. for i in range(fl): for s in xrange(play_time * rate): final_sample[s] += sample_list[i][s % (len(sample_list[i]) - 1)] return final_sample else: print "Warning: No frequencies specified. Returning 0." return 0 # Crude quick test if __name__ == '__main__': mixer.pre_init(44100, -16, 1, 1024) pygame.init() # Make a chord of these frequencies at 2 seconds long time = 2 mychord = Sound(build_chord([220, 275, 331], time)) mychord.play() sleep(time) pygame.quit()
def setup(self, all_sprites): all_sprites.add(LcarsBackgroundImage("assets/lcars_screen_1b.png"), layer=0) # panel text all_sprites.add(LcarsText(colours.BLACK, (11, 52), "LCARS 105"), layer=1) all_sprites.add(LcarsText(colours.ORANGE, (0, 135), "HOME AUTOMATION", 2), layer=1) all_sprites.add(LcarsText(colours.BLACK, (444, 612), "192 168 0 3"), layer=1) # info text all_sprites.add(LcarsText(colours.WHITE, (192, 174), "EVENT LOG:", 1.5), layer=3) all_sprites.add(LcarsText(colours.BLUE, (244, 174), "2 ALARM ZONES TRIGGERED", 1.5), layer=3) all_sprites.add(LcarsText(colours.BLUE, (286, 174), "14.3 kWh USED YESTERDAY", 1.5), layer=3) all_sprites.add(LcarsText(colours.BLUE, (330, 174), "1.3 Tb DATA USED THIS MONTH", 1.5), layer=3) self.info_text = all_sprites.get_sprites_from_layer(3) # date display self.stardate = LcarsText(colours.BLUE, (12, 380), "STAR DATE 2711.05 17:54:32", 1.5) self.lastClockUpdate = 0 all_sprites.add(self.stardate, layer=1) # buttons all_sprites.add(LcarsButton(colours.RED_BROWN, "rounded", (6, 662), "LOGOUT", self.logoutHandler), layer=4) all_sprites.add(LcarsButton(colours.BEIGE, "rect", (145, 15), "SENSORS", self.sensorsHandler), layer=4) all_sprites.add(LcarsButton(colours.PURPLE, "rect", (200, 15), "GAUGES", self.gaugesHandler), layer=4) all_sprites.add(LcarsButton(colours.PEACH, "rect", (255, 15), "WEATHER", self.weatherHandler), layer=4) # gadgets all_sprites.add(LcarsGifImage("assets/gadgets/fwscan.gif", (277, 556), 100), layer=1) self.sensor_gadget = LcarsGifImage("assets/gadgets/lcars_anim2.gif", (235, 150), 100) self.sensor_gadget.visible = False all_sprites.add(self.sensor_gadget, layer=2) self.dashboard = LcarsImage("assets/gadgets/dashboard.png", (187, 232)) self.dashboard.visible = False all_sprites.add(self.dashboard, layer=2) self.weather = LcarsImage("assets/weather.jpg", (188, 122)) self.weather.visible = False all_sprites.add(self.weather, layer=2) #all_sprites.add(LcarsMoveToMouse(colours.WHITE), layer=1) self.beep1 = Sound("assets/audio/panel/201.wav") Sound("assets/audio/panel/220.wav").play()
def __init__(self, x, y, box_size): super().__init__(x, y, box_size) self.color = (0, 255, 0) self.sound = Sound('sound/green.wav')
def load_sounds(self): dir_samples = os.path.join("assets/audio/samples") self.sound_bounce_paddle = Sound(os.path.join(dir_samples, "Blip1.wav")) self.sound_bounce_wall = Sound(os.path.join(dir_samples, "Blip2.wav"))
def __init__(self, x, y, box_size): super().__init__(x, y, box_size) self.color = (255, 255, 0) self.sound = Sound('sound/yellow.wav')
from gpiozero import Button import pygame.mixer from pygame.mixer import Sound from signal import pause pygame.mixer.init() sound_pins = { 2: Sound("samples/drum_tom_mid_hard.wav"), 3: Sound("samples/drum_cymbal_open.wav"), } buttons = [Button(pin) for pin in sound_pins] for button in buttons: sound = sound_pins[button.pin.number] button.when_pressed = sound.play pause()
class SoundManager: """Звуковой менеджер""" sounds = { 'shuriken': Sound('sounds/shuriken_flight.mp3'), 'hit': Sound('sounds/hit.wav'), 'fruit': Sound('sounds/fruit.wav'), 'backpack': Sound('sounds/backpack.wav'), 'got_hit': Sound('sounds/oof.wav'), 'move_on_ground': Sound('sounds/move_on_ground.wav'), 'jump': Sound('sounds/jump.wav'), 'land': Sound('sounds/land.wav'), 'potion': Sound('sounds/potion.wav'), 'game_over_sound': Sound('sounds/sound_game_over.wav'), 'game_over_voice': Sound('sounds/voice_game_over.mp3'), 'game_over': Sound('sounds/game_over_finally.wav'), 'victory': Sound('sounds/sound_victory.wav') } def __init__(self): self.sound = True # Изначально звук включен self.sounds['move_on_ground'].set_volume(0.2) self.sounds['fruit'].set_volume(0.2) self.sounds['hit'].set_volume(0.2) self.sounds['potion'].set_volume(0.2) def switch(self): """Смена режима звука (включен / выключен)""" self.sound = not self.sound if self.sound: self.start_sound() else: self.mute_all_sounds() def start_sound(self): """Включение звука в игре""" music.unpause() for k, v in self.sounds.items(): if k in {'move_on_ground', 'fruit', 'hit', 'potion'}: v.set_volume(0.2) else: v.set_volume(1) def mute_all_sounds(self): """Отключение звука в игре""" music.pause() for v in self.sounds.values(): v.set_volume(0) def play_shuriken(self): """Проигрывание звука сюрикена""" self.sounds['shuriken'].play() def play_hit(self): """Проигрывание звука: ГГ ударил врага""" self.sounds['hit'].play() def play_fruit_collected(self): """Проигрывание звука собранного фрукта""" self.sounds['fruit'].play() def play_backpack_collected(self): """Проигрывание звука собранного рюкзака""" self.sounds['backpack'].play() def play_got_hit(self): """Проигрывание звука: враг ударил ГГ""" self.sounds['got_hit'].play() def play_move_on_ground(self): """Проигрывание звука шагов ГГ""" if self.sounds['move_on_ground'].get_num_channels() == 0: self.sounds['move_on_ground'].play() def play_jump(self): """Проигрывание звука прыжка ГГ""" self.sounds['jump'].play() def play_land(self): """Проигрывание звука приземления ГГ""" self.sounds['land'].play() def play_potion_collected(self): """Проигрывание звука собранного зелья""" self.sounds['potion'].play() def play_voice_game_over(self): """Проигрывание голоса "Game Over" при проигрыше уровня""" if self.sounds['game_over_sound'].get_num_channels() == 0: self.sounds['game_over_voice'].play() def play_sound_game_over(self): """Проигрывание мелодии при проигрыше уровня""" music.stop() self.sounds['game_over_sound'].play() def play_game_over(self): """Проигрывание мелодии и голоса вместе при проигрыше уровня""" music.fadeout(500) self.sounds['game_over'].play() def play_menu_music(self): """Проигрывание музыки во время нахождения в меню""" if self.sound: for sound in self.sounds.values(): sound: Sound sound.stop() music.unpause() music.unload() music.load('music/background.mp3') music.set_volume(1) music.play(-1) def play_game_music(self): """Проигрывание музыки во время нахождения в игре""" if self.sound: for sound in self.sounds.values(): sound: Sound sound.stop() music.unpause() music.unload() music.load('music/background_tango_short.wav') music.set_volume(0.1) music.play(-1) def play_victory(self): """Проигрывание мелодии при успешном прохождении уровня""" music.fadeout(500) self.sounds['victory'].play() def update(self): pass
BUTTON6 = 18 #PIN SETUP GPIO.setmode(GPIO.BCM) GPIO.setwarnings(False) GPIO.setup(BUTTON1, GPIO.IN, pull_up_down=GPIO.PUD_UP) GPIO.setup(BUTTON2, GPIO.IN, pull_up_down=GPIO.PUD_UP) GPIO.setup(BUTTON3, GPIO.IN, pull_up_down=GPIO.PUD_UP) GPIO.setup(BUTTON4, GPIO.IN, pull_up_down=GPIO.PUD_UP) GPIO.setup(BUTTON5, GPIO.IN, pull_up_down=GPIO.PUD_UP) GPIO.setup(BUTTON6, GPIO.IN, pull_up_down=GPIO.PUD_UP) #INITIALIZE PYGAME TO PLAY SOUND pygame.mixer.pre_init(44100, -16, 6, 1024) pygame.mixer.init() sound1 = Sound("samples/drum_heavy_kick.wav") sound2 = Sound("samples/drum_snare_hard.wav") sound3 = Sound("samples/drum_tom_hi_hard.wav") sound4 = Sound("samples/drum_cymbal_closed.wav") sound5 = Sound("samples/drum_cymbal_soft.wav") sound6 = Sound("samples/drum_splash_hard.wav") #DEFINE CALLBACKS def my_callback_one(BUTTON1): sound1.play() def my_callback_two(BUTTON2): sound2.play()