Skip to content
  • P
    Projects
  • G
    Groups
  • S
    Snippets
  • Help

Administrator / pygame_lesson5_diy5

  • This project
    • Loading...
  • Sign in
Go to a project
  • Project
  • Repository
  • Issues 0
  • Merge Requests 0
  • Pipelines
  • Wiki
  • Snippets
  • Members
  • Activity
  • Graph
  • Charts
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • Files
  • Commits
  • Branches
  • Tags
  • Contributors
  • Graph
  • Compare
  • Charts
Switch branch/tag
  • pygame_lesson5_diy5
  • my_music.py
Find file
BlameHistoryPermalink
  • BellCodeEditor's avatar
    auto save · 481c6a39
    BellCodeEditor committed 2 years ago
    481c6a39
my_music.py 12.6 KB
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
import pygame                                                                                                                       
from pygame import locals                                                                                                                       
import os                                                                                                                       
pygame.init()  # 初始化                                                                                                                       
# 创建窗口                                                                                                                       
screen = pygame.display.set_mode((640, 480))                                                                                                                       
# 载入图片、资源                                                                                                                       
bg_img = pygame.image.load('background.png')  # 背景图                                                                                                                       
play_img = pygame.image.load('play.png')  # 播放按钮                                                                                                                       
stop_img = pygame.image.load('stop.png')  # 暂停按钮                                                                                                                       
last_img = pygame.image.load('last.png')  # 上一曲按钮                                                                                                                       
next_img = pygame.image.load('next.png')  # 下一曲按钮                                                                                                                       
logo_img = pygame.image.load('logo.png')  # 下一曲按钮                                                                                                                       

# 载入音乐                                                                                                                       
pygame.mixer.music.load('歌曲4.ogg')  # 载入音乐                                                                                                                             
filelist=[]                                                                                                                        
num = -1                                                                                                                       
path = 'D:\\新建文件夹\\OneDrive\\桌面\\test'                                                                                                                       
file = os.listdir(path)                                                                                                                       
for i in file:                                                                                                                       
    if i[-4:] == '.wav' or i[-4:] == '.ogg':                                                                                                                       
        filelist.append()                                                                                                                       
volume = 0.2                                                                                                                       
pygame.mixer.music.set_volume(volume)  # 初始播放音量                                                                                                                       
click = 0                                                                                                                       
play_button = stop_img                                                                                                                       

while True:                                                                                                                       
    for event in pygame.event.get():                                                                                                                       
        if event.type == locals.QUIT:                                                                                                                       
            exit()                                                                                                                       
        # 按键,控制声音大小                                                                                                                       
        if event.type == locals.KEYDOWN:                                                                                                                       
            if event.key == locals.K_UP:                                                                                                                       
                volume += 0.1                                                                                                                       
                if volume > 1:                                                                                                                       
                    volume = 1                                                                                                                       
                pygame.mixer.music.set_volume(volume)                                                                                                                       
            if event.key == locals.K_DOWN:                                                                                                                       
                volume -= 0.1                                                                                                                       
                if volume < 0:                                                                                                                       
                    volume = 0                                                                                                                       
                pygame.mixer.music.set_volume(volume)                                                                                                                       

        # 按下鼠标                                                                                                                       
        if event.type == locals.MOUSEBUTTONDOWN:                                                                                                                       
            if event.button==1:                                                                                                                       
                x,y = event.pas                                                                                                                        
                if x > 270 and x<370 and y >350 and y < 450:                                                                                                                                                            
                # 次数增加                                                                                                                                                            
                    click += 1                                                                                                                                                            
                if click % 2 == 0:                                                                                                                                                            
                    play_button = stop_img                                                                                                                                                            
                    pygame.mixer.music.unpause()                                                                                                                                                            
                else:                                                                                                                                                            
                    play_button = play_img                                                                                                                                                            
                    pygame.mixer.music.pause()                                                                                                                                                            
if x > 120 and x <220 and y > 350 and y <400:
    num -= 1
    if pygame.mixer.music.get_busy() == False:                                                                                                                                                                                                                                                                                                                        
        if num < 0:                                                                                                                                                            
            num = len(filelist)-1:                                                                                                                                                             
        pygame.mixer.music.load(path+'\\'+filelist[num])                                                                                                                                                       
        pygame.mixer.music.play()                                                                                                                                                            
        play_button =stop_img
        click = 0
    if x > 420 and x 520 and y > 350 and y <400:
    num += 1
    if pygame.mixer.music.get_busy() == False:                                                                                                                                                                                                                                                                                                                        
        if num > len(filelist)-1:                                                                                                                                                             
            num = 0:                                                                                                                                                             
        pygame.mixer.music.load(path+'\\'+filelist[num])                                                                                                                                                       
        pygame.mixer.music.play()                                                                                                                                                            
        play_button =stop_img
        click = 0
    # 绘制画面                                                                                                                                                            
    screen.blit(bg_img, (0, 0))      # 填充背景                                                                                                                                         
    screen.blit(play_button, (270, 330))   # 暂停按钮                                                                                                                                                            
    screen.blit(logo_img, (170, 60))    # 中间logo图                                                                                                                                                            
    screen.blit(last_img, (120, 350))   # 上一曲                                                                                                                                                            
    screen.blit(next_img, (420, 350))   # 下一曲                                                                                                                                                            
    # 刷新画面                                                                                                                                                            
    pygame.display.update()