python打造简单音乐播放器

函数方式

'''
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("输入选项有误请重新输入....")
  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值