位置: IT常识 - 正文

Python带你制作一个属于自己的多功能音乐播放器(python制作chm)

编辑:rootadmin
Python带你制作一个属于自己的多功能音乐播放器 前言

推荐整理分享Python带你制作一个属于自己的多功能音乐播放器(python制作chm),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python制作chm,用python制作软件,怎么用python制作简单的程序,用python制作软件,如何用python制作一个,python带你制作一个歌曲下载器,海量歌曲免费听,python带你制作一个歌曲下载器,海量歌曲免费听,如何用python制作一个,内容如对您有帮助,希望把文章链接给更多的朋友!

嗨喽,大家好呀~这里是爱看美女的茜茜呐

就是用Python做一个简易的音乐播放器,废话不多说,咱们直接开干

当然,今天做这个肯定不是最简单的,最简单的音乐播放器,9行代码足以

完整源码等直接在文末名片领取。点击此处跳转简易播放器代码展示

导入模块

import timeimport pygamefile = r'歌曲路径'pygame.mixer.init()print('正在播放',file)track = pygame.mixer.music.load(file)pygame.mixer.music.play()time.sleep(130)pygame.mixer.music.stop()效果展示

多功能播放器知识点和所需模块

python基础知识

requests库

time

pygame

tkinter

线程

如果安装python第三方模块:

win + R 输入 cmd 点击确定, 输入安装命令 pip install 模块名 (pip install requests) 回车

在pycharm中点击Terminal(终端) 输入安装命令

环境

windows

pycharm 2021.2

python 3.8

代码展示

( 完整源码点击此处跳转跳转文末名片加入君羊,找管理员小姐姐领取呀~ )

Python带你制作一个属于自己的多功能音乐播放器(python制作chm)

导入模块

import osimport timeimport tkinterimport tkinter.filedialogimport threadingimport pygame # piproot = tkinter.Tk()root.title('音乐播放器')root.geometry('460x600+500+100')root.resizable(False,False) # 不能拉伸folder =''res = []num = 0now_music = ''

添加文件夹

def buttonChooseClick(): global folder global res if not folder: folder = tkinter.filedialog.askdirectory() musics = [folder + '\\' + music for music in os.listdir(folder) \\ if music.endswith(('.mp3','.wav','.ogg'))] ret = [] for i in musics: ret.append(i.split('\\')[1:]) res.append(i.replace('\\','/')) var2 = tkinter.StringVar() var2.set(ret) lb = tkinter.Listbox(root,listvariable=var2) lb.place(x=50,y=100,width=260,height=300) if not folder: return global playing playing = True

根据情况禁用和启用相应的按钮

buttonPlay['state'] = 'normal' buttonStop['state'] = 'normal' # buttonPause['state'] = 'normal' pause_resume.set('播放')

播放音乐

def play(): if len(res): pygame.mixer.init() global num while playing: if not pygame.mixer.music.get_busy(): netxMusic = res[num] print(netxMusic) print(num) pygame.mixer.music.load(netxMusic.encode()) # 播放 pygame.mixer.music.play(1) if len(res) -1 == num: num = 0 else: num = num + 1 netxMusic = netxMusic.split('\\')[1:] musicName.set('playing......' + ''.join(netxMusic)) else: time.sleep(0.1)

点击播放

def buttonPlayClick(): buttonNext['state'] = 'normal' buttonPrev['state'] = 'normal'

选择要播放的音乐文件夹

if pause_resume.get() == '播放': pause_resume.set('暂停') global folder if not folder: folder = tkinter.filedialog.askdirectory() if not folder: return global playing playing = True

创建一个线程来播放音乐,当前主线程用来接收用户操作

t = threading.Thread(target=play) t.start() elif pause_resume.get() == '暂停': # pygame.mixer.init() pygame.mixer.music.pause() pause_resume.set('继续') elif pause_resume.get() == '继续': # pygame.mixer.init() pygame.mixer.music.unpause() pause_resume.set('暂停')

停止播放

def buttonStopClick(): global playing playing = False pygame.mixer.music.stop()

下一首

def buttonNextClick(): global playing playing = False pygame.mixer.music.stop() global num if len(res) == num: num = 0 playing = True

创建线程播放音乐,主线程用来接收用户操作

t = threading.Thread(target=play) t.start()

关闭窗口

def closeWindow():

修改变量,结束线程中的循环

global playing playing = False time.sleep(0.3)

停止播放,如果已停止,

再次停止时会抛出异常,所以放在异常处理结构中

try: pygame.mixer.music.stop() pygame.mixer.quit() except: pass root.destroy()

声音控制

def control_voice(value=0.5): pygame.mixer.music.set_volume(float(value))

上一首

def buttonPrevClick(): global playing playing = False pygame.mixer.music.stop() # # pygame.mixer.quit() global num # num += 1 # num -= 1 if num == 0: num = len(res) - 2 # num -= 1 elif num == len(res) - 1: num -= 2 else: num -= 2 # num -= 1 print(num) playing = True

创建一个线程来播放音乐,当前主线程用来接收用户操作

t = threading.Thread(target=play) t.start()

窗口关闭

root.protocol('WM_DELETE_WINDOW', closeWindow)效果展示

尾语

感谢你观看我的文章呐~本次航班到这里就结束啦 🛬

希望本篇文章有对你带来帮助 🎉,有学习到一点知识~

躲起来的星星🍥也在努力发光,你也要努力加油(让我们一起努力叭)。

最后,宣传一下呀~👇👇👇更多源码、资料、素材、解答、交流皆点击下方名片获取呀👇👇👇

本文链接地址:https://www.jiuchutong.com/zhishi/300635.html 转载请保留说明!

上一篇:10种基于MATLAB的方程组求解方法(matlab基础介绍)

下一篇:RuntimeError: CUDA error: CUBLAS_STATUS_NOT_INITIALIZED when calling `cublas‘

  • 志高洗衣机不脱水了怎么回事(志高洗衣机不脱水维修图解)

    志高洗衣机不脱水了怎么回事(志高洗衣机不脱水维修图解)

  • 小米手机怎么远程控制父母的手机(小米手机怎么远程开空调)

    小米手机怎么远程控制父母的手机(小米手机怎么远程开空调)

  • 苹果手机无线网怎么扫一扫连接(苹果手机无线网开关打不开怎么回事)

    苹果手机无线网怎么扫一扫连接(苹果手机无线网开关打不开怎么回事)

  • 华为nova9pro前置有几颗镜头(华为nova9pro前置摄像头怎么样)

    华为nova9pro前置有几颗镜头(华为nova9pro前置摄像头怎么样)

  • iphone11充电头发烫(iphone11充电头发热严重)

    iphone11充电头发烫(iphone11充电头发热严重)

  • 转发别人的抖音会怎么样(转发别人的抖音别人会知道吗)

    转发别人的抖音会怎么样(转发别人的抖音别人会知道吗)

  • 快手评论被折叠是什么意思(快手评论被折叠怎么回事)

    快手评论被折叠是什么意思(快手评论被折叠怎么回事)

  • 虎牙直播是什么平台(虎牙直播是什么样的平台)

    虎牙直播是什么平台(虎牙直播是什么样的平台)

  • 淘宝开发票要收钱吗

    淘宝开发票要收钱吗

  • 华为视频的芒果TV会员可以登录电脑吗(华为视频的芒果会员可以给其他手机)

    华为视频的芒果TV会员可以登录电脑吗(华为视频的芒果会员可以给其他手机)

  • icloud云盘关还是不关(icloud云盘关闭后果)

    icloud云盘关还是不关(icloud云盘关闭后果)

  • 陌陌显示对方账号已注销(陌陌显示对方账号异常是什么意思)

    陌陌显示对方账号已注销(陌陌显示对方账号异常是什么意思)

  • 给别人打电话正忙是什么意思(给别人打电话正忙是不是被拉黑了)

    给别人打电话正忙是什么意思(给别人打电话正忙是不是被拉黑了)

  • pr导出什么格式最小(pr导出什么格式是mp4)

    pr导出什么格式最小(pr导出什么格式是mp4)

  • 普通手环怎么充电(手环应该怎么充电)

    普通手环怎么充电(手环应该怎么充电)

  • nova6se尺寸(nova6se尺寸长宽高多少厘米厂)

    nova6se尺寸(nova6se尺寸长宽高多少厘米厂)

  • 淘宝开团提醒收费吗(淘宝什么叫开团提醒)

    淘宝开团提醒收费吗(淘宝什么叫开团提醒)

  • 手机99新什么意思(手机99新是什么)

    手机99新什么意思(手机99新是什么)

  • 淘宝发不了消息怎么回事(淘宝发不了消息给卖家怎么回事)

    淘宝发不了消息怎么回事(淘宝发不了消息给卖家怎么回事)

  • 8700配b360还是z370(8700配b365)

    8700配b360还是z370(8700配b365)

  • 公交车二维码怎么下载(公交车二维码怎么搞)

    公交车二维码怎么下载(公交车二维码怎么搞)

  • q9400相当于i几(q9400相当于i5多少)

    q9400相当于i几(q9400相当于i5多少)

  • m1901f9e是小米几(m1901f7be是小米什么型号)

    m1901f9e是小米几(m1901f7be是小米什么型号)

  • oppor17快充多少w(oppor17用18w快充)

    oppor17快充多少w(oppor17用18w快充)

  • 哔哩哔哩的缓存在哪里(哔哩哔哩的缓存文件怎么导出)

    哔哩哔哩的缓存在哪里(哔哩哔哩的缓存文件怎么导出)

  • 360浏览器如何设置兼容模式(360浏览器如何设置极速模式)

    360浏览器如何设置兼容模式(360浏览器如何设置极速模式)

  • Win11怎么提高运行速度和性能? windows11系统设置的方法(win11怎么提高运行内存)

    Win11怎么提高运行速度和性能? windows11系统设置的方法(win11怎么提高运行内存)

  • 增值税发票综合服务平台验证口令失败
  • 以前年度损益调整科目怎么用
  • 货运代理费属于运费还是其他
  • 工程咨询属于什么合同
  • 出纳可以做库存库吗
  • 旅游业发票税率是多少
  • 汇算清缴税费怎么入账
  • 电梯生产设备
  • 环境评估费应计入什么科目
  • 税前可以扣除的有哪些费用
  • 车位出售时要交什么税
  • 个人独资企业对公账户的钱可以转到私人账户吗
  • 财务费用利息收入借方表示什么
  • 企业所得税汇算清缴账务处理
  • 盘盈入库做什么分录
  • 研发支出转入管理费用摘要
  • 收到跨境分红的会计处理怎么做?
  • 生产企业出口退税流程怎么操作
  • 个人出租住房如何开票
  • 小规模纳税人季度多少免税
  • 货物损失怎么处理
  • 销售商品收到商业汇票属于什么科目
  • 进项发票已入账抵扣后开负数红冲怎么处理
  • 电子通行费如何开发票
  • 增值税留抵退税怎么记账
  • 腾讯电脑管家开机加速在哪里
  • 年末结转年初建账
  • 【免费】多种方法手把手教你如何将自己做的网页做成网络链接(直接访问)
  • 农民工工资保证金退还条件
  • iphone6s显示4g却无法上网
  • iphone助手
  • 财务报表分析方法有哪些?各有什么优缺点?
  • 布里斯托尔景点
  • 行政单位预算外资金收入上缴财政专户的方式不包括
  • php发送qq邮箱
  • 有限责任公司股东向股东以外的人转让股权
  • 业务招待费的账务处理金额
  • ant desgin-vue
  • 小规模企业收到发票
  • vue面试题2020
  • 大数据相关框架
  • php用在哪些方面
  • vant ui
  • 非事业单位企业退休年龄
  • 直线折旧法账务处理例题
  • 商业承兑汇票和银行承兑汇票的分录
  • mysql5.7设置编码
  • mysql分页优化原理
  • mysql数据库服务器配置
  • 存货跌价准备什么科目
  • 增值税普通发票查询
  • 购买材料如何做会计分录
  • 以他人名义投资该签订什么协议
  • 不动产经营租赁会计分录
  • 加工企业如何计税
  • 合并报表成本法调整为权益法分录
  • 私企的会计都做什么
  • sqlserver r服务
  • itunes无法更新app
  • freebsd更新命令
  • 怎样u盘安装系统软件
  • mac expose
  • 登录ip怎么查位置
  • 在linux系统中创建文件的命令
  • linux中的vi编辑器一般有哪三个模式
  • javascript ajax的5种状态介绍
  • jquery实现分页功能
  • 如何用python处理pdf
  • shell while 小于
  • 给shell脚本传参数
  • c# unity ioc
  • jquery遍历表单元素
  • python 嵌套
  • htc windows
  • jquery detach
  • 上海市浦东新区公租房
  • 免税开普票还是专票
  • 核算成本需要哪些数据来源
  • 黄金消费税如何算
  • 税收超额负担图解
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设