Commit b81f06ad by BellCodeEditor

save project

parent 584c5539
Showing with 112 additions and 49 deletions
import pygame
from pygame import locals
import os
pygame.init() # 初始化
pygame.init() # 初始化
# 创建窗口
screen = pygame.display.set_mode((640, 480))
# 载入图片、资源
......@@ -10,68 +11,129 @@ 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') # 中间logo
music_list=['歌曲1.wav','歌曲2.wav','歌曲3.wav','歌曲4.ogg']
volume=0.2
pygame.mixer.music.set_volume(volume)
play_button=stop_img
logo_img = pygame.image.load('logo.png') # 下一曲按钮
music_list = []
path = "C:\\Users\\Public\\bellcode\\music_1"
filelist = os.listdir(path)
num = -1
for i in filelist:
if i[-4:] == ".wav" or i[-4:] == ".ogg":
music_list.append(i)
volume = 0.2
pygame.mixer.music.set_volume(volume) # 初始播放音量
click = 0
num=-1
#pygame.mixer.music.play()
play_button = stop_img
x = 320
y = 200
angle=0
music1 = pygame.mixer.Sound(path + '\\' + music_list[num])
music_length = music1.get_length()
music_length = int(music_length)
print(music_length)
while True:
for event in pygame.event.get():
if event.type==locals.QUIT:
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
# 按键,控制声音大小
if event.type == locals.KEYDOWN:
if event.key == locals.K_w:
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
if event.key == locals.K_s:
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.pos
if x>270 and x<370 and y>350 and y<450:
if event.type == locals.MOUSEBUTTONDOWN:
if event.button == 1: # 左击
x, y = event.pos
if x > 270 and x < 370 and y > 350 and y < 450: # 播放按钮
click += 1
if click%2==1:
pygame.mixer.music.pause()
play_button=play_img
else:
if click % 2 == 0:
play_button = stop_img
pygame.mixer.music.unpause()
play_button=stop_img
if x>120 and x<220 and y>350 and y<400:
num-=1
if num<0:
num=len(music_list)-1
pygame.mixer.music.load(music_list[num])
pygame.mixer.music.play()
click=0
play_button=stop_img
if x>420 and x<520 and y>350 and y<400:
num+=1
if num>len(music_list)-1:
num=0
pygame.mixer.music.load(music_list[num])
else:
play_button = play_img
pygame.mixer.music.pause()
if x > 420 and x < 520 and y > 350 and y < 400: # 下一曲
num += 1
if num > len(music_list) - 1:
num = 0
pygame.mixer.music.load(path + "\\" + music_list[num])
pygame.mixer.music.play()
click=0
play_button=stop_img
play_button = stop_img
if click % 2 == 0:
click += 2
else:
click += 1
music1 = pygame.mixer.Sound(path + '\\' + music_list[num])
music_length = music1.get_length()
music_length = int(music_length)
if pygame.mixer.music.get_busy()==False:
num+=1
if num>len(music_list)-1:
num=0
pygame.mixer.music.load(music_list[num])
if x > 120 and x < 220 and y > 350 and y < 400: # 上一曲
num -= 1
if num < 0:
num = len(music_list) - 1
pygame.mixer.music.load(path + "\\" + music_list[num])
pygame.mixer.music.play()
play_button = stop_img
if click % 2 == 0:
click += 2
else:
click += 1
music1 = pygame.mixer.Sound(path + '\\' + music_list[num])
music_length = music1.get_length()
music_length = int(music_length)
if pygame.mixer.music.get_busy() == False:
num += 1
if num > len(music_list)-1:
num = 0
pygame.mixer.music.load(path + "\\" + music_list[num])
pygame.mixer.music.play()
music1 = pygame.mixer.Sound(path + '\\' + music_list[num])
music_length = music1.get_length()
music_length = int(music_length)
new_logo_img = pygame.transform.rotate(logo_img, angle)
newRect = new_logo_img.get_rect(center=(320, 200))
pos = (newRect[0], newRect[1])
if play_button == stop_img:
angle-=0.1
time = pygame.mixer.music.get_pos()
time_s = time // 1000
time_m = time_s // 60
if time_s < 10:
time_s = '0' + str(time_s)
music_length_m = music_length // 60
music_length_s = music_length - (music_length_m * 60)
# 绘制画面
screen.blit(bg_img, (0, 0)) # 填充背景
screen.blit(play_button, (270, 330)) # 暂停按钮
screen.blit(logo_img, (170, 60)) # 中间logo图
screen.blit(new_logo_img, pos) # 中间logo图
screen.blit(last_img, (120, 350)) # 上一曲
screen.blit(next_img, (420, 350)) # 下一曲
text = pygame.font.Font("neuropol.ttf", 15)
music_length_test = str(music_length_m) + ':' + str(music_length_s)
newtext = text.render(str(time_m) + ":" + str(time_s) + '/' + music_length_test, True, (0, 0, 0))
screen.blit(newtext,(120, 400))
# 刷新画面
pygame.display.update()
pygame.display.update()
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment