以下是音乐播放器要实现的功能:

1.可以通过打开存放音频文件夹来添加音频

2.可以播放和暂停音频

3.可以设置播放音量

需要实现音频播放器的模块:

1.pygame的音频播放功能

2.easygui的fileopenbox函数与os的listdir函数

3.播放器的窗口和布局我们就是使用PySimpleGUI库来实现。

先给大家展示下程序:

首先,我们需要导入所有库:

from pygame import mixer
from PySimpleGUI import Window,Slider,B,T,LB,Frame
from easygui import diropenbox
from os import listdir

然后是pygame音频的初始化:

mixer.init()
mixer.music.set_volume(1) #设置音量(0 - 1)

要想选择播放的音频,我们就需要用列表来存储音频名称和路径

all_music = []      #所有音频的名称
all_music_path = [] #所有音频的路径

然后就是窗口布局:

layout = [[Frame('播放列表',[[T('音频播放列表',font = ('楷体',15))],[LB(all_music,size = (60,10),key = '-music_list-')],[T('正在播放: 空',font = ('楷体',12),key = '-playing-')]],font = ('楷体',16))],[T('音量设置',font = ('楷体',14)),Slider(range = (0,100),key = '-volume-',default_value = 100,orientation = 'h',enable_events = 1)],[B('添加音频',font = ('楷体',14)),B('开始播放',font = ('楷体',14)),B('暂停',font = ('楷体',14)),B('退出',font = ('楷体',14))]]

接下来就是窗口的事件处理:

window = Window('音乐播放器',layout)
pause = False #做一个音频是否暂停的标记while 1:event,values = window.read()if event in (None,'退出'):breakmixer.music.set_volume(values['-volume-'] / 100)if event == '开始播放':if pause:mixer.music.unpause() #继续播放else:music = values['-music_list-']if not len(music):continueelse:music = music[0]if len(music) > 30:window['-playing-'].update('正在播放: {}...'.format(music[:36]))else:window['-playing-'].update('正在播放: {}'.format(music))mixer.music.load(all_music_path[all_music.index(music)])mixer.music.play()choose_music = Trueelif event == '添加音频':music_file = diropenbox()all_music_path = all_music_path + [music_file + '\\' + i for i in listdir(music_file) if i.endswith('.mp3')]all_music = all_music + [i.split('\\')[-1] for i in all_music_path]window['-music_list-'].update(all_music)elif event == '暂停':if mixer.music.get_busy():mixer.music.pause() #暂停pause = Trueelse:continuewindow.close() #循环结束后就关闭窗口

最后是源代码:

from pygame import mixer
from PySimpleGUI import Window,Slider,B,T,LB,Frame
from easygui import diropenbox
from os import listdirmixer.init()
mixer.music.set_volume(1)all_music = []
all_music_path = []layout = [[Frame('播放列表',[[T('音频播放列表',font = ('楷体',15))],[LB(all_music,size = (60,10),key = '-music_list-')],[T('正在播放: 空',font = ('楷体',12),key = '-playing-')]],font = ('楷体',16))],[T('音量设置',font = ('楷体',14)),Slider(range = (0,100),key = '-volume-',default_value = 100,orientation = 'h',enable_events = 1)],[B('添加音频',font = ('楷体',14)),B('开始播放',font = ('楷体',14)),B('暂停',font = ('楷体',14)),B('退出',font = ('楷体',14))]]window = Window('音乐播放器',layout)
pause = Falsewhile 1:event,values = window.read()if event in (None,'退出'):breakprint(values)mixer.music.set_volume(values['-volume-'] / 100)if event == '开始播放':if pause:mixer.music.unpause() #继续播放print('继续播放')else:music = values['-music_list-']print(music)if not len(music):continueelse:music = music[0]if len(music) > 30:window['-playing-'].update('正在播放: {}...'.format(music[:36]))else:window['-playing-'].update('正在播放: {}'.format(music))mixer.music.load(all_music_path[all_music.index(music)])mixer.music.play()choose_music = Trueprint('重新播放')elif event == '添加音频':music_file = diropenbox()print(music_file)all_music_path = all_music_path + [music_file + '\\' + i for i in listdir(music_file) if i.endswith('.mp3')]all_music = all_music + [i.split('\\')[-1] for i in all_music_path]window['-music_list-'].update(all_music)elif event == '暂停':if mixer.music.get_busy():mixer.music.pause() #暂停pause = Trueelse:continuewindow.close()

以上就是全部内容,感谢大家的观看!

小案例:用Python制作音乐播放器相关推荐

  1. 用Python制作音乐播放器(下,含完整源代码)

    哈喽,大家不知道是上午好还是中午好还是下午好还是晚上好! 音乐播放器,大家应该不陌生吧!今天我们一起来学习如何用python制作音乐播放器.之所开头有一个"下",是因为我们以前已经 ...

  2. 用Python制作音乐播放器(上)

    用Python制作简单的音乐播放器 哈喽,大家不知道是上午好还是中午好还是下午好还是晚上好! 音乐播放器,大家应该不陌生吧!今天我们一起来学习如何用python制作音乐播放器.之所开头有一个" ...

  3. python制作音乐播放器_python实现音乐播放器 python实现花框音乐盒子

    本文实例为大家分享了python实现音乐播放器的具体代码,供大家参考,具体内容如下 """这是一个用海龟画图模块和pygame的混音模块制作的简易播放器. 作者:李兴球, ...

  4. Python制作音乐播放器,帮你随时放飞心情~

    最近网易云音乐闹出不少事情,甚至被各大应用商店下架.它的某些做法小笨聪也着实不敢苟同,但还是希望它整改后能够发展更好,当然不只是在故事式热评方面,还包括更为重要的版权问题. 由此,小笨聪也萌发了制作一 ...

  5. [附源码]计算机毕业设计Python+uniapp基于微信小程序平台开发的音乐播放器f0rrr(程序+lw+远程部署)

    [附源码]计算机毕业设计Python+uniapp基于微信小程序平台开发的音乐播放器f0rrr(程序+lw+远程部署) 该项目含有源码.文档.程序.数据库.配套开发软件.软件安装教程 项目运行环境配置 ...

  6. Go语言案例(一)音乐播放器

    Go语言案例(一)音乐播放器 一.GOPATH 与 Go Mod 二.常用的标准库 (一)ftm (二)os/exec 三.项目中涉及语法概念 (一)结构体 (二)接口 四.源码附录 参考文档 一.G ...

  7. winform制作音乐播放器

    winform制作音乐播放器 本文利用C# 调用Windows自带的Windows Media Player 打造一款属于自己的音乐播放器,以供学习分享使用,如有不足之处,还请指正. 概述 Windo ...

  8. 基于python的音频播放器_基于python实现音乐播放器代码实例

    基于python实现音乐播放器代码实例,一首,函数,按钮,布局,音乐 基于python实现音乐播放器代码实例 易采站长站,站长之家为您整理了基于python实现音乐播放器代码实例的相关内容. 核心播放 ...

  9. 树莓派3B qt+mplayer制作音乐播放器(10)

    内容 树莓派3B qt+mplayer制作音乐播放器:播放.暂停.上一曲.下一曲,音量调节. 平台:树莓派+qt+mplayer 1.配置 qt安装见此: https://blog.csdn.net/ ...

最新文章

  1. OPENWRT中SSH免密钥登陆(具体步骤)
  2. 关于移动端架构的好的学习网站
  3. 【体验】18650锂电池充电器体验,功能测试,18650充电测试
  4. ActiveMQ broker 集群, 静态发现和动态发现
  5. TensorRT(3)-C++ API使用:mnist手写体识别
  6. [读书笔记] Effective C++
  7. rpm方式安装MySQL-5.6
  8. 深入理解javascript原型和闭包 1
  9. [LeetCode]Trapping Rain Water
  10. linux0.11 80386段
  11. CSS单行文本溢出显示省略号
  12. 谈EBOM 、PBOM 、MBOM 在PDM中的统一
  13. 基于PYTHON的艺术签名设置
  14. 医院信息系统源码 HIS源码
  15. python读取批量txt文件
  16. 微信小程序云开发导出CSV文件时出现乱码
  17. 区块链开发工程师和人工智能算法工程师,哪个会在未来 5 年收入更高?
  18. 【深度学习】Hinton 最新研究:神经网络的未来是前向-前向算法
  19. windows7英文版变成中文版教程
  20. html中导入文件并显示

热门文章

  1. js获取当前物理地址
  2. 对“一棵有124个叶节点的完全二叉树,最多有多少个结点”的思考
  3. 1001 Quotes and Sayings by Skylar Sorren
  4. 【网络转载】Sybase数据库基础知识
  5. Android开发之杂记(3)
  6. 从此不需动辄求人“修”电脑
  7. 【Python】三行代码让你实现快速去水印
  8. 张飞老师硬件第二十五部--马达驱动--原理图设计--下桥MOSFET的分立器件半桥设计
  9. 2023年华数杯数学建模C题思路代码分析 - 母亲身心健康对婴儿成长的影响
  10. mysql换行符和回车符