相关配置:
Anaconda 4.2.0 (64-bit)
Python 3.5.2
程序:
# -*- coding: utf-8 -*-
'''
pygame制作音乐盒
'''
import sys
# import time
import pygame
def ps_bt20(): # 开启音乐盒
'''
此函数可以打开音乐盒,音乐盒是用pygame这个包完成的,具体要注意的是,在表现两个以上的图标和音乐的结合体
时(不包括两个),这时候可以将所有的要循环播放的内容放到while循环里面,一般需要用到两个标志位,一个用
来控制while的循环是否结束,一个用来控制播放的顺序。这时候if pygame.mixer.music.get_busy() == False要改成True
里面直接用continue跳出本次。如果是只播放两个内容的话,可以不需要这样做,一个写在while循环的外面,一个写
在if pygame.mixer.music.get_busy() == False里面。
:return:
'''
try:
flag_1 = 1
flag_2 = 1
pygame.init()
pygame.mixer.init()
print("播放音乐")
path = r"jj.mp3"
path1 = r"tu1.jpg"
path2 = r"ts.mp3"
path3 = r"tu2.jpg"
path4 = r'tu.jpg'
path5 = r'xg.mp3'
screen = pygame.display.set_mode([921, 576])
icon = pygame.image.load(path1).convert_alpha()
pygame.display.set_icon(icon)
background = pygame.image.load(path1).convert_alpha()
background1 = pygame.image.load(path3).convert_alpha()
background2 = pygame.image.load(path4).convert_alpha()
pygame.display.set_caption('音乐盒')
pygame.time.delay(1000)
# print("播放音乐1")
# screen.blit(background, (0, 0))
# pygame.display.update()
# pygame.mixer.music.load(path)
# pygame.mixer.music.play()
# pygame.mixer.music.fadeout(15000)
# pygame.time.delay(15000)
# print("播放音乐2")
# screen.blit(background1, (0, 0))
# pygame.display.update()
# pygame.mixer.music.load(path2)
# pygame.mixer.music.play()
while flag_1 == 1:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
flag_1 = 0
if pygame.mixer.music.get_busy() == True:
continue
# print("播放音乐3")
# screen.blit(background2, (0, 0))
# pygame.display.update()
# pygame.mixer.music.load(path5)
# pygame.mixer.music.play()
if flag_2 == 1:
print("播放音乐1")
screen.blit(background, (0, 0))
pygame.display.update()
pygame.mixer.music.load(path)
pygame.mixer.music.play()
pygame.mixer.music.fadeout(15000)
flag_2 = 2
elif flag_2 == 2:
print("播放音乐2")
screen.blit(background1, (0, 0))
pygame.display.update()
pygame.mixer.music.load(path2)
pygame.mixer.music.play()
flag_2 = 3
elif flag_2 == 3:
print("播放音乐3")
screen.blit(background2, (0, 0))
pygame.display.update()
pygame.mixer.music.load(path5)
pygame.mixer.music.play()
flag_2 = 1
except Exception as e:
print(e)
if __name__ == '__main__':
ps_bt20()
我曾经跨过山和大海,也穿过人山人海,我曾经拥有着的一切,转眼都飘散如烟,我曾经失落失望失掉所有方向,直到看见平凡才是唯一的答案。
——韩寒《平凡之路》