位置: 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‘

  • miui12.5增强版性能模式怎么开(miui12 增强版)

    miui12.5增强版性能模式怎么开(miui12 增强版)

  • ios测试版能直接更新正式版吗(ios测试版能长期使用吗)

    ios测试版能直接更新正式版吗(ios测试版能长期使用吗)

  • 华为p40出厂时自带手机膜的吗(华为p40出厂时自带贴膜吗)

    华为p40出厂时自带手机膜的吗(华为p40出厂时自带贴膜吗)

  • 华为手机如何恢复出厂设置(华为手机如何恢复删除的微信聊天记录)

    华为手机如何恢复出厂设置(华为手机如何恢复删除的微信聊天记录)

  • 快手视频没声音是怎么回事(快手视频没声音怎么办)

    快手视频没声音是怎么回事(快手视频没声音怎么办)

  • 微信收藏没了怎么恢复(微信收藏没了怎么办)

    微信收藏没了怎么恢复(微信收藏没了怎么办)

  • 微信怎么彻底拉黑删除一个人(微信怎么彻底拉黑一个人)

    微信怎么彻底拉黑删除一个人(微信怎么彻底拉黑一个人)

  • iphone7plus间歇性卡顿(iphone7plus屏幕间歇性失灵)

    iphone7plus间歇性卡顿(iphone7plus屏幕间歇性失灵)

  • ios12蜂窝数据无法还原(苹果12开了蜂窝数据1x)

    ios12蜂窝数据无法还原(苹果12开了蜂窝数据1x)

  • 微信怎么删除自己的登录信息(微信怎么删除自己的朋友圈)

    微信怎么删除自己的登录信息(微信怎么删除自己的朋友圈)

  • 拼多多详情页尺寸多少(拼多多详情页尺寸多少像素)

    拼多多详情页尺寸多少(拼多多详情页尺寸多少像素)

  • 低温wifi是什么意思(低温wifi好不好)

    低温wifi是什么意思(低温wifi好不好)

  • qq群文件修改后别人能看见(qq群文件修改文件名)

    qq群文件修改后别人能看见(qq群文件修改文件名)

  • powerpoint2007的默认文件名格式(ppt的默认功能区)

    powerpoint2007的默认文件名格式(ppt的默认功能区)

  • 快手怎么隐藏共同好友(快手里怎么隐藏我的互相关注)

    快手怎么隐藏共同好友(快手里怎么隐藏我的互相关注)

  • 抖音视频垂直度是什么意思(抖音视频垂直度不高是什么意思)

    抖音视频垂直度是什么意思(抖音视频垂直度不高是什么意思)

  • 无线网可以看别人上网记录吗(无线网可以看别人手机吗)

    无线网可以看别人上网记录吗(无线网可以看别人手机吗)

  • 手机上怎么查看gw文件(手机上怎么查看征信报告)

    手机上怎么查看gw文件(手机上怎么查看征信报告)

  • kingroot有风险吗(kingroot怎么下架了)

    kingroot有风险吗(kingroot怎么下架了)

  • 盐城开发区属于哪个区(盐城开发区在哪个区)

    盐城开发区属于哪个区(盐城开发区在哪个区)

  • vivos5怎么打开相机网格(vivo手机怎么打开相机)

    vivos5怎么打开相机网格(vivo手机怎么打开相机)

  • 苹果x触屏就亮怎么关(苹果x触屏亮屏关闭)

    苹果x触屏就亮怎么关(苹果x触屏亮屏关闭)

  • 货拉拉订单取消退款(货拉拉订单取消规则)

    货拉拉订单取消退款(货拉拉订单取消规则)

  • 手机在线和4g一样吗(手机在线跟4g在线意思)

    手机在线和4g一样吗(手机在线跟4g在线意思)

  • 怎么在pdf里删除一页(怎么在pdf里删除页面)

    怎么在pdf里删除一页(怎么在pdf里删除页面)

  • 苹果11都有什么功能(苹果11都有什么颜色)

    苹果11都有什么功能(苹果11都有什么颜色)

  • 电脑上视频怎么旋转(电脑上视频怎么原画质传到手机)

    电脑上视频怎么旋转(电脑上视频怎么原画质传到手机)

  • vivo红外线怎么开启(vivo红外线怎么开)

    vivo红外线怎么开启(vivo红外线怎么开)

  • 车辆租赁费发票备注栏怎么写
  • 出口货物离岸价格
  • 收到扶贫款怎么做会计分录
  • 变更法人代表要查征信吗
  • 金税盘如何查看开票机号
  • 再保险业务赔款如何进行税前扣除
  • 房地产企业利息资本化条件有哪些
  • 抵债资产涉税问题
  • 房屋租赁需要交税吗?
  • 企业间借款利息怎么算
  • 无法提供财产原值凭证
  • 装修项目展示厅费用支出列什么科目?
  • 未实缴出资的股东退股
  • 社会团体收费项目有哪些
  • 集团内部是什么意思
  • 公司银行社保代缴怎么交
  • 公司更名期间账户可以使用吗?
  • 营改增后建筑公司账务处理
  • 没有留抵税用进项抵扣滞纳金可以吗?
  • 发放股票股利要考虑时间权重吗
  • 一个订单只能申请一次退款吗
  • 增值税又有调整政策吗
  • 小规模未开票收入如何申报增值税
  • 贷款利息可以抵扣吗
  • 发票单据流水号
  • 申请银行汇票手续费记账凭证
  • 应付未付的营业收入
  • 付佣金怎么做分录
  • 电脑软件如何开机自启动
  • 呆滞品报废入什么科目
  • 拆迁货币什么意思
  • 公账提取备用金限额
  • 员工提前预支工资借条
  • 睡在海面上
  • Chrome谷歌浏览器网页
  • 一篇文章让你了解什么
  • react 入门
  • php网页聊天室
  • 税款已缴纳后发票怎么查
  • 事业单位用其他资金用于还单位贷款违法吗
  • 缴税的会计处理
  • 小规模普通发票几个点的税
  • 自产自用车辆购置税组成计税价格
  • 土地增值税预缴计税依据
  • 小规模纳税人税金账务处理
  • 资产负债表和利润表的勾稽关系
  • 超市的小票能入账吗
  • 销售代销货物会计处理
  • 去年未计提费用,今年付怎么做账
  • 小规模以前年度城建税未计提
  • 企业从银行取得短期贷款存入银行,属于( )类型变化业务
  • 给客户优惠货款怎么写
  • 车辆上牌的费用应付多少?
  • 汽车以租代购可靠吗
  • 安装工程什么时候套脚手架搭拆
  • 在建工程的会计代码
  • 汇算清缴帐务处理
  • 收到客户提供代付发票
  • sqlserver按时间段导出数据
  • centos6.5安装步骤
  • linux 根目录
  • centos发送http请求
  • win7和vista的区别
  • win10 系统
  • win7命令提示符在哪
  • vue父向子传方法
  • 多态和封装的区别
  • 安卓端数据库
  • android检测网络差
  • jquery二级导航栏
  • 守护进程和普通进程
  • js实现框选
  • jQuery Ajax 实例代码 ($.ajax、$.post、$.get)
  • 厂房出租开增值税专用发票
  • 税务登记没去登记会怎么处罚
  • 北京市国家税务局
  • 车辆购置税怎样交
  • 苏宁易购的联系电话
  • 税务注销了怎么查看纳税申报表
  • 房地产预缴土增值税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设