Pygame播放聲音與音效


簡單學習自小甲魚視頻教學(筆記)

 

實現功能: 

  運行后自動播放背景音樂,單擊左鍵播放音效①,單擊右鍵播放音效②,

  空格鍵控制暫停背景音樂與恢復背景音樂,並且實現播放圖標的切換。

代碼如下:

 1 import pygame
 2 import sys
 3 from pygame.locals import *
 4 
 5 pygame.init()
 6 pygame.mixer.init()  # 初始化混音器模塊
 7 # 音效可以同時播放多個,而music只能同時播放一個
 8 pygame.mixer.music.load('BG.ogg')   # 背景音樂通常用.ogg格式
 9 pygame.mixer.music.set_volume(0.2)  # 設置音量
10 pygame.mixer.music.play()  # 播放音樂
11 
12 sound1 = pygame.mixer.Sound('M1.wav')  # 音效通常用.wav格式
13 sound1.set_volume(0.2)
14 sound2 = pygame.mixer.Sound('M2.wav')
15 sound2.set_volume(0.2)
16 
17 bg_size = width, height = 300, 200
18 screen = pygame.display.set_mode(bg_size)
19 pygame.display.set_caption('Music')
20 
21 pause = False
22 
23 pause_img = pygame.image.load('pause.png').convert_alpha()
24 unpause_img = pygame.image.load('unpause.png').convert_alpha()
25 pause_rect = pause_img.get_rect()
26 pause_rect.left, pause_rect.top = (width - pause_rect.width) // 2, (height - pause_rect.height) // 2
27 
28 clock = pygame.time.Clock()
29 
30 while True:
31     for event in pygame.event.get():
32         if event.type == QUIT:
33             sys.exit()
34 
35         if event.type == MOUSEBUTTONDOWN:
36             if event.button == 1:  # 左鍵
37                 sound1.play()
38             if event.button == 3:  # 右鍵
39                 sound2.play()
40 
41         if event.type == KEYDOWN:
42             if event.key == K_SPACE:  # 空格
43                 pause = not pause
44 
45     screen.fill((255, 255, 255))  # 填充背景
46 
47     if pause:
48         screen.blit(pause_img, pause_rect)
49         pygame.mixer.music.pause()  # 暫停播放
50     else:
51         screen.blit(unpause_img, pause_rect)
52         pygame.mixer.music.unpause()  # 恢復播放
53 
54     pygame.display.flip()
55 
56     clock.tick(30)  # 幀率為30
View Code

 

我的素材下載:https://files.cnblogs.com/files/GraceSkyer/20180202.zip

備注:我這png圖片之前被我調小失真了,但是不影響該演示,就不改圖了...

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM