基于python实现音乐播放器代码实例,一首,函数,按钮,布局,音乐

基于python实现音乐播放器代码实例

易采站长站,站长之家为您整理了基于python实现音乐播放器代码实例的相关内容。

核心播放模块(pygame内核)import time import pygameimport easygui as gui file = r'D:\CloudMusic\G.E.M.邓紫棋,艾热 - 光年之外 (热爱版).mp3' #这里为音乐文件路径pygame.mixer.init()gui.msgbox("正在播放"+file)track = pygame.mixer.music.load(file)pygame.mixer.music.play()time.sleep(240)pygame.mixer.music.stop()

完整版源代码:import osimport tkinterimport tkinter.filedialogimport timeimport threadingimport pygame #实现音频播放 #第一步:搭建界面 root = tkinter.Tk()root.title('封亚飞的音乐播放器v1.0')#设置窗口大小和屏幕绝对位置root.geometry('460x600+500+100')#固定窗口大小,设置窗口不可拉伸root.resizable(False,False) folder = ''# 接收文件路径 默认为空res=[]# num=0now_music = '' #第二步:实现功能 def buttonChooseClick():#添加文件函数 global folderglobal res#如果folder不为空,则····if not folder:folder = tkinter.filedialog.askdirectory() #选择目录,返回目录名musics = [folder + '\\' + musicfor music in os.listdir(folder)\\if music.endswith(('.mp3','.m4a','.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=220,width=260,height=300) if not folder:returnglobal playingplaying = True #根据情况禁用或启用相应按钮 bottonPlay['state'] = 'normal'bottonStop['state'] = 'normal' #buttonPause['state'] = 'normal' pause_resume.set('播放') #播放音乐函数def play():#初始化混响设备 if len(res):pygame.mixer.init()global numwhile playing:if not pygame.mixer.music.get_busy():#随机播放nextMusci = res[num]print(nextMusci)print(num)pygame.mixer.music.load(nextMusci.encode())#播放一次pygame.mixer.music.play(1)#print(len(res)-1)if len(res) - 1 ==num:num=0else:num +=1nextMusci = nextMusci.split("\\")[1:]musicName.set('playing....'+''.join(nextMusci))else:time.sleep(0.1) #点击播放函数def bottonPlayClik():bottonNext['state']='normal'bottonPrev['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.music.pause()pause_resume.set('继续') elif pause_resume.get()=='继续':pygame.mixer.music.unpause() pause_resume.set('暂停') #停止播放函数def bottonStopClik():global playing playing = False pygame.mixer.music.stop() #下一首函数def bottonNextClik():global playing playing = False pygame.mixer.music.stop() global num if len(res) == num:num=0playing = Trueglobal tt = threading.Thread(target=play) t.start() #上一首函数def bottonPrevClik():global playing playing=False pygame.mixer.music.stop() global num if num==0:num=len(res)-2 elif num ==len(res)-1:num-=2else:num-=2print(num) playing = Trueglobal tt.threading.Thread(target=play) t.start()#关闭窗口函数def closeWindows():global playingplaying=Falsetime.sleep(0.3) try:pygame.mixer.music.stop()pygame.mixer.quit() except:passroot.destroy() #声音控制函数def control_voice(value=0.5):pygame.mixer.music.set_volume(float(value)) #添加按钮bottonChoose=tkinter.Button(root,text='添加',command=buttonChooseClick)#按钮布局bottonChoose.place(x=50,y=50,width=50,height=20) #播放按钮跟踪变量值的变化pause_resume=tkinter.StringVar(root,value='播放')bottonPlay=tkinter.Button(root,textvariable=pause_resume,command=bottonPlayClik)#按钮布局bottonPlay.place(x=120,y=50,width=50,height=20)bottonPlay['state'] = 'disabled'#未添加文件(刚启动)时禁用 #停止播放bottonStop = tkinter.Button(root,text='停止')#按钮布局bottonStop.place(x=50,y=130,width=50,height=20) #下一首bottonNext = tkinter.Button(root,text='下一首',command=bottonNextClik)#按钮布局bottonNext.place(x=50,y=100,width=50,height=20)bottonNext['state']='disabled' #上一首bottonPrev = tkinter.Button(root,text='上一首',command=bottonPrevClik)#按钮布局bottonPrev.place(x=120,y=100,width=50,height=20)bottonPrev['state']='disabled' #显示内容--播放状态musicName = tkinter.StringVar(root,value='暂时没有播放音乐...')labelName = tkinter.Label(root,textvariable=musicName)labelName.place(x=10,y=20,width=260,height=20) #显示内容--音量调节s = tkinter.Scale(root,label='音量',from_=0,to=1,orient=tkinter.HORIZONTAL,length=240,showvalue=0,tickinterval=2,resolution=0.1,command=control_voice)s.place(x=50,y=150,width=200) #关闭窗口root.protocol("WM_DELETE_WINDOW",closeWindows) #启用消息循环:显示出上一步创建的画板对象root.mainloop()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。以上就是关于对基于python实现音乐播放器代码实例的详细介绍。欢迎大家对基于python实现音乐播放器代码实例内容提出宝贵意见

基于python的音频播放器_基于python实现音乐播放器代码实例相关推荐

  1. 开源音乐播放器_如何选择开源音乐播放器

    开源音乐播放器 Linux提供了大量的音乐播放器. 您如何选择使用哪一个? 早在2016年6月,我就写了我最喜欢的开源音乐播放器Guayadeque显然逝世的文章. 我描述了我对Guayadeque真 ...

  2. ehshig蒙文歌曲_额格希格音乐播放器_额格希格音乐播放器安卓版下载_额格希格音乐播放器最新版app下载_好趣手游网...

    额格希格蒙语版是一款颇具民族特色的蒙文歌曲下载软件.额格希格音乐播放器收集了最全的蒙文歌曲曲库,各种经典的蒙文歌曲以及当前流行的蒙文流行歌全都有,深受广大内蒙用户喜爱! 软件介绍 想了解蒙语音乐或者想 ...

  3. Android音乐播放器eclipse,简单的Android音乐播放器 eclipse开发的基于Android平台的音乐播放器 - 下载 - 搜珍网...

    压缩包 : 音乐播放器.zip 列表 音乐播放器/ 音乐播放器/.classpath 音乐播放器/.project 音乐播放器/.settings/ 音乐播放器/.settings/org.eclip ...

  4. java播放器使用教程_[Java教程]Java音乐播放器

    [Java教程]Java音乐播放器 0 2016-01-07 12:00:09 乐乐音乐目前是基于musique开发的一个java音乐播放器,之前开发了一个android版本的音乐播放器,现在把and ...

  5. python处理音频的软件_『开发技巧』Python音频操作工具PyAudio上手教程

    『开发技巧』Python音频操作工具PyAudio上手教程 ​ 0.引子 当需要使用Python处理音频数据时,使用python读取与播放声音必不可少,下面介绍一个好用的处理音频PyAudio工具包. ...

  6. 基于粤嵌gec6818开发板嵌入式开发电子相册,音乐播放,视频播放,2048游戏

    一.功能与要求 实现功能:本系统需要使用粤嵌的GEC-6818开发板设计一款娱乐影音系统,其中包括图片显示(相册).音乐播放.视频播放,游戏四个部分,在每个部分内部,具有操控各个部分的功能触摸按键.本 ...

  7. python交互式和文件式_使用Python创建和自动化交互式仪表盘

    python交互式和文件式 In this tutorial, I will be creating an automated, interactive dashboard of Texas COVI ...

  8. 在当当买了python怎么下载源代码-Python爬取当当、京东、亚马逊图书信息代码实例...

    注:1.本程序采用MSSQLserver数据库存储,请运行程序前手动修改程序开头处的数据库链接信息 2.需要bs4.requests.pymssql库支持 3.支持多线程 from bs4 impor ...

  9. python音频实时频谱分析_基于python的音频设计及频谱分析

    74 Internet Technology 互联网 + 技术 一.引言 WAV 是 Microsoft 开发的一种声音文件格式,虽然它支持多种压缩格式,但是它通常被用来保存未压缩的声音数据(PCM ...

最新文章

  1. 数据合并设计_八秒搞定合并相同内容的单元格,你却加班了1小时
  2. PostgreSQL 10.1 手册_部分 III. 服务器管理_第 21 章 数据库角色_21.4. 删除角色
  3. 盘点数学里十大不需语言的证明
  4. Java程序员遇到瓶颈后我们可以试着朝四个方向拓展?你们觉得呢?
  5. 面试从开始到结束, 必备的一些小技巧
  6. Linux网络协议:当eBPF遇上Linux内核网络 | Linux内核之旅
  7. hdu 1711 Number Sequence
  8. 区块链 使用xbench测试xuperchain 教程
  9. 公文写作神器 v2.8.1.20 去更新去广告版
  10. # 书籍《银河帝国10—裸阳》读后感—20210606
  11. 产品商业需求文档_【器】我的产品需求文档心法
  12. 华为s5700交换机IP地址与MAC地址绑定
  13. 莫以物喜 、莫以己悲!
  14. 怎么教你如何查看电脑的蓝牙版本【解决方案】
  15. 两台电脑用网线直连传文件
  16. seo文章批量更新-SEO文章自动批量生成
  17. 模糊控制在matlab中常见的疑难问题及模糊逻辑工具箱的使用
  18. 又一重量级国字头赛事!中国大学生计算机设计大赛全面启动
  19. Struts2注解配置之@Action(二)
  20. 最方便最好看最好用的python日志。

热门文章

  1. 计算机图形直线分析,基本图形分析法:等腰三角形(一)
  2. 命令查看mysql 是否安装_验证mysql是否安装成功的方法
  3. php 检测 变量是否设置,PHP中检测一个变量是否有设置的函数是什么?
  4. 著名的用户界面设计准则
  5. 64位系统下一个32位的程序究竟可以申请到多少内存?
  6. VLD(Visual LeakDetector)内存泄露工具的使用
  7. X64_Xcelera-CL_PX4采集卡测试记录
  8. python查找多个关键词,在字符串列表中搜索多个关键字
  9. 看似简单的hashCode和equals面试题,竟然有这么多坑!
  10. TCPIP header