函数方式
'''
2.写一个音乐播放器
功能:
先进入页面:
******************************
* *
* 欢迎来到python播放器 *
* *
******************************
设置选项:
******************************
* 1.播放 2.停止 *
* 3.暂停 4.继续 *
* 5.上一曲 6.下一曲 *
* 7.添加音量 8.减少音量 *
* t.退出 *
******************************
'''
import time
import pygame
def wecome():
print('''
******************************
* *
* 欢迎来到python播放器 *
* *
******************************
''')
def getNum():
print('''
******************************
* 1.播放 2.停止 *
* 3.暂停 4.继续 *
* 5.上一曲 6.下一曲 *
* 7.添加音量 8.减少音量 *
* t.退出 *
******************************
''')
num = input("请选择要操作的项目")
return num
def playMusic(path):
pygame.mixer.init()
pygame.mixer.music.load(path)
pygame.mixer.music.play()
def pauseMusic():
pygame.mixer.music.pause()
def unpauseMusic():
pygame.mixer.music.unpause()
def stopMusic():
pygame.mixer.music.stop()
def nextMusic(musciList,index):
if index>=len(musciList)-1:
print("已经是最后一曲了")
return index
else:
index += 1
playMusic(musicList[index])
return index
def perMusic(musicList,index):
if index <= 0:
print("已经是第一首了")
return index
else:
index -= 1
playMusic(musicList[index])
return index
def addVome(volume):
print("当前音量值%f"%volume)
if round(volume,1)>=1.0:
print("已经是最大音量了")
else:
volume += 0.1
pygame.mixer.music.set_volume(volume)
return volume
def subVome(volume):
if round(volume,1)<=0:
print("已经是最小音量了")
else:
volume -= 0.1
pygame.mixer.music.set_volume(volume)
print("当前音量值%f" % volume)
return volume
wecome()
musicList = []
for x in range(1,6):
musicList.append(r"C:\Users\Administrator\Desktop\music\music"+str(x)+".mp3")
print(musicList)
index = 0
volume = 0.5
while True:
time.sleep(1)
num = getNum()
if num == "1":
print("播放")
playMusic(musicList[index])
elif num == "2":
print("停止")
stopMusic()
elif num == "3":
print("暂停")
pauseMusic()
elif num == "4":
print("继续")
unpauseMusic()
elif num == "5":
print("上一曲")
index = perMusic(musicList,index)
elif num == "6":
print("下一曲")
index = nextMusic(musicList,index)
elif num == "7":
print("添加音量")
volume = addVome(volume)
elif num == "8":
print("减少音量")
volume = subVome(volume)
elif num == "t":
print("退出播放器")
break
else:
print("输入选项有误请重新输入....")
类方法
import pygame
import os,time
class Music():
def __init__(self,path,index=0,volum=0.5):
pathList = []
fileList = os.listdir(path)
for filename in fileList:
pathList.append(os.path.join(path,filename))
self.pathList = pathList
self.index = index
self.volum = volum
@staticmethod
def wecome():
print('''
******************************
* *
* 欢迎来到python播放器 *
* *
******************************
''')
def getNum(self):
print('''
******************************
* 1.播放 2.停止 *
* 3.暂停 4.继续 *
* 5.上一曲 6.下一曲 *
* 7.添加音量 8.减少音量 *
* t.退出 *
******************************
''')
num = input("请选择要操作的项目")
return num
def playmusic(self):
pygame.mixer.init()
pygame.mixer.music.load(self.pathList[self.index])
pygame.mixer.music.play()
def stopmusic(self):
pygame.mixer.music.stop()
def pausemusic(self):
pygame.mixer.pause()
def unpausemusic(self):
pygame.mixer.unpause()
def nextMusic(self):
self.index += 1
self.index %= len(self.pathList)
self.playmusic()
def pervMusic(self):
if self.index>0:
self.index -= 1
else:
self.index = len(self.pathList)-1
self.playmusic()
def addVolum(self):
if round(self.volum,1) < 1:
self.volum += 0.1
else:
print("最大音量了")
return
pygame.mixer.music.set_volume(self.volum)
def subVolum(self):
if round(self.volum,1) > 0:
self.volum -= 0.1
else:
print("已经是最小音量了")
return
pygame.mixer.music.set_volume(self.volum)
if __name__ == "__main__":
path = r"C:\Users\Administrator\Desktop\music"
music = Music(path)
music.wecome()
print(music.pathList)
while True:
time.sleep(1)
num = music.getNum()
if num == "1":
print("播放")
music.playmusic()
elif num == "2":
print("停止")
music.stopmusic()
elif num == "3":
print("暂停")
music.pausemusic()
elif num == "4":
print("继续")
music.unpausemusic()
elif num == "5":
print("上一曲")
music.pervMusic()
elif num == "6":
print("下一曲")
music.nextMusic()
elif num == "7":
print("添加音量")
music.addVolum()
elif num == "8":
print("减少音量")
music.subVolum()
elif num == "t":
print("退出播放器")
break
else:
print("输入选项有误请重新输入....")