完整实例项目:使用python自制音乐播放器~

这篇具有很好参考价值的文章主要介绍了完整实例项目:使用python自制音乐播放器~。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

今天使用python的pygame等模块制作了一个简单的音乐播放器,实现了很多好玩的功能,在这里和大家一起分享!这是笔者的第二篇博客,也是正式的完成一个小项目,希望获得大家的支持~

播放器可以实现的功能:

暂停、继续播放、调整声音大小、上一曲&下一曲调整、无限制追加音乐(但需要下载音乐文件到本地)、直接根据曲库展示的歌曲序号进行点歌

项目python代码:

from time import sleep # 这里可以不用,sleep表示先不执行代码段的时间
import pygame
import os
#导入pygame模块
import time
#导入时间模块
pygame.mixer.init()
#初始化音频部分
def musiclujing():
#将曲目的路径存放在列表中
    path = []
    name = []
    musicfolderpath = r"../happy_birthday/资源/music"  #文件夹目录
    files= os.listdir(musicfolderpath)  #得到文件夹下的所有文件名称
    for file in files: #遍历文件夹
        if not os.path.isdir(file): #判断是否是文件夹,不是文件夹才打开
            temppath = musicfolderpath + "/" + file
            path.append(temppath)
            name.append(file)
    return path,name

def welcome():
    print('''
            ************************************************
            *       欢迎来到微笑的萝卜出品的专属音乐播放器    *
            *                lly出品,必属精品              *
            ************************************************
    ''')
    sleep(3)
    pygame.mixer.music.load(musicpath[0])  #载入待播放的音乐文件,需要提前下载到本地文件
    pygame.mixer.music.play(loops=2)           #开始播放音乐流,默认无操作下循环次数为2次
    pygame.mixer.music.set_volume(0.3)

def musicselect(path, name):
    i = 0
    j = 0.3
    while 1:
        print('''
        ************************************************
        *   从键盘上键入以下字符可以执行对应命令,大小写均可:   *
                      A/a:暂停     Q/q:播放                
                      S/s:下一曲   W/w:上一曲           
                     E/e:增大音量  D/d:减少音量          
                          空格:退出程序                 
        *        直接输入数字: 直接播放对应序号的歌曲        *
        ------------------------------------------------               
        ''')
        print("                    曲库的歌曲列表为:")
        for r in range(len(name)):
            print("                    ",end = "")
            print(str(r) + ":" + name[r])
        print("        ************************************************")

        print("当前正在播放的是:",name[i])
        n = input('请输入下一步操作哦:')
        if n == "q" or n == "Q":
            print('继续播放音乐')
            #使用文件名作为参数载入音乐 ,音乐可以是ogg、mp3等格式。载入的音乐不会全部放到内容中,而是以流的形式播放的,即在播放的时候才会一点点从文件中读取。
            #播放载入的音乐。该函数立即返回,音乐播放在后台进行。
            pygame.mixer.music.unpause()
        elif n == "a" or n == "A":
            #暂停播放
            pygame.mixer.music.pause()
        elif n == "s" or n == "S":
            i += 1
            pygame.mixer.music.load(path[i])
            pygame.mixer.music.set_endevent(pygame.constants.USEREVENT)  # 音乐结束事件:可供大家继续编辑,本文中没有用到哦
            pygame.mixer.music.play(loops=2)
        elif n == "w" or n == "W":
            i -= 1
            pygame.mixer.music.load(path[i])
            pygame.mixer.music.set_endevent(pygame.constants.USEREVENT)  # 音乐结束事件
            pygame.mixer.music.play(loops = 2)
        elif n == "e" or n == "E":
            j += 0.1
            pygame.mixer.music.set_volume(j)
        elif n == "d" or n == "D":
            j -= 0.1
            pygame.mixer.music.set_volume(j)
        elif n == " ":
            print("程序结束!")
            return 1
        else:
            try:
                n = int(n)
                i = n
                pygame.mixer.music.load(path[i])
                pygame.mixer.music.set_endevent(pygame.constants.USEREVENT)  # 音乐结束事件
                pygame.mixer.music.play(loops=2)
            except:
                print("输入的指令无效,请重新输入!若要退出,请输入空格后确定")
                continue
    # -------- 主循环 -----------
    #设置这里以保证如果音乐播放完毕,则自动播放下一首音乐


musicpath, musicname = musiclujing()
welcome()
musicselect(musicpath, musicname)

注释:

# pygame.mixer.music.set_endevent 这一语句本文中并无实际意义,目的是想为那些在此音乐播放器上继续改进的同学提供参考的使用位置,可忽略不写~

项目运行效果截图:

笔者把此项目单独打包成了exe(用了pyinstaller库~),执行效果如下:

完整实例项目:使用python自制音乐播放器~

完整实例项目:使用python自制音乐播放器~

大功告成!文章来源地址https://www.toymoban.com/news/detail-511213.html

到了这里,关于完整实例项目:使用python自制音乐播放器~的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 《微信小程序》音乐播放器项目

    需求:在装有node.js的机器上使用微信开发者工具开发一个音乐播放项目 写这个项目的时候电脑前后蓝屏了5次,制作不易,希望大佬们给个双击,顺子在这感谢啦! 展示: pages–index–index.js 01.png 02.png 02stop.png 03.png 04.png 05.png 06.png banner.jpg banner2.jpg banner3.jpg cover.jpg cover1.png

    2024年02月11日
    浏览(47)
  • 项目7-音乐播放器6+评论区

    前端小白:怎么为你的网页增加评论功能?(一)_为网页添加评论区怎么弄-CSDN博客 参考的上述文章的前端代码 我们从上述前端图片知道,我们数据库需要准备的字段: id,commentuserName,coomentmusicId,comment,time 路径:\\\"/comment/upload\\\" 1.MAPPER 2.SERVICE 3.Controller MAPPER SERVICE CONTROLLER 成功

    2024年04月23日
    浏览(65)
  • 小项目开发——Android 音乐播放器

    ◼ 音乐播放器 . ◼ 要求 : Activity 编程、 ListView 编程、 SeekBar 编程、 ExoPlayer 编程( 播放 、 暂停 、 停止 、 上一首 、 下一首 ),音乐文件放在 assets/music 目录下,界面自拟. ◼ 期望最终效果: ◼ 分别对应 activity_music_list.xml 、 activity_my_music_player.xml 的视图. ◼ 点击列表任

    2024年01月21日
    浏览(41)
  • 微信小程序仿网易音乐播放器项目

    主页样式 播放页样式 搜索页样式 排行榜页样式 小控件样式 网易云音乐API接口 后端接口,使用node写的,使用了网易云音乐API: 封装的api文件 主页面功能点 banner,滑动菜单栏采用微信的API( swiper 与 scroll-view )进行开发 滑动到底部重新获取后续的歌曲,使用onReachBottom周期

    2024年02月06日
    浏览(39)
  • [MAUI 项目实战] 手势控制音乐播放器(三): 动画

    @ 目录 吸附动画 确定位置 平移动画 回弹动画 使用自定义缓动函数 多重动画 点击动画 项目地址 上一章节我们创建了手势容器控件PanContainer,它对拖拽物进行包装并响应了平移手势和点击手势。 拖拽物现在虽然可以响应手势操作,但视觉效果较生硬,一个优秀的设计要求

    2023年04月09日
    浏览(38)
  • Qt项目实战:MP3音乐播放器

      首先通过打开文件,获取文件夹下mp3文件的名字,将其存入QTableWidget控件下,通过双击QTableWidget空间中的内容,播放相应的mp3音乐文件,同时通过使用QMediaPlaylist来实现上一首,下一首的功能。   widget.h widget.cpp main.cpp 本文福利, 莬 费领取Qt开发学习资料包、技术视频,

    2024年02月06日
    浏览(50)
  • [MAUI 项目实战] 手势控制音乐播放器(二): 手势交互

    @ 目录 原理 交互实现 容器控件 手势开始 手势运行 手势结束 使用控件 拖拽物 创建pit集合 项目地址 定义一个拖拽物,和它拖拽的目标,拖拽物可以理解为一个平底锅(pan),拖拽目标是一个坑(pit),当拖拽物进入坑时,拖拽物就会被吸附在坑里。可以脑补一下下图: 你

    2023年04月08日
    浏览(50)
  • [MAUI 项目实战] 手势控制音乐播放器(四):圆形进度条

    @ 目录 关于图形绘制 创建自定义控件 使用控件 创建专辑封面 项目地址 我们将绘制一个圆形的音乐播放控件,它包含一个圆形的进度条、专辑页面和播放按钮。 使用MAUI的绘制功能,需要Microsoft.Maui.Graphics库。 Microsoft.Maui.Graphics在不同的目标平台上使用一致的API访问本机图形

    2023年04月09日
    浏览(46)
  • [MAUI 项目实战] 手势控制音乐播放器(一): 概述与架构

    这是一篇系列博文。请关注我,学习更多.NET MAUI开发知识! [MAUI 项目实战] 手势控制音乐播放器(一): 概述与架构 [MAUI 项目实战] 手势控制音乐播放器(二): 手势交互 [MAUI 项目实战] 手势控制音乐播放器(三): 动画 [MAUI 项目实战] 手势控制音乐播放器(四):圆形进

    2023年04月09日
    浏览(33)
  • 开源小项目 - 基于无源蜂鸣器实现的音乐播放器

    目录 一、音乐简谱相关知识 1、音符 2、音调 3、识读简谱 1. 找到简谱中C调的音符对应的蜂鸣器频率(确定音调对应的频率) 2. 确定蜂鸣器演奏一拍所需的时间(即确定一个音调对应的节拍数) 3.创建结构体确定一个音符所需的两个属性(音调频率、节拍数) 4.将《两只老虎

    2024年03月10日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包