酷毙了!python用37行代码打造属于自己的音乐播放器,附源码

想不想手动打造一款专属于你的播放器,同时练练Python编程?

如果想,那就立即行动吧!

所需库
pygame
tkinter
mutagen

至于它们的使用,可以浏览一下文档,如果你想做更功能强大的播放器,那必须好好看看哦!

设计思路
作为版本0,我们并不想做太复杂的项目。只需实现以下几个功能:

将某个目录下的mp3文件名在listbox中显示

显示当前播放的歌曲名

播放上一首歌曲

播放下一首歌曲

停止播放

获取目录下的mp3文件
直接上代码!

def directorychooser():
directory = tkinter.filedialog.askdirectory()
os.chdir(directory)
for files in os.listdir(directory):
if files.endswith(‘.mp3‘):
realdir = os.path.realpath(files)
audio = ID3(realdir)
realnames.append(audio[‘TIT2‘].text[0])
listofsongs.append(files)

print(files)

pygame.mixer.init()
pygame.mixer.music.load(listofsongs[0])
pygame.mixer.music.play()

与button有关的函数
def nextsong(event):
global index
if index < len(listofsongs) - 1:
index += 1
else:
index = 0;
pygame.mixer.music.load(listofsongs[index])
pygame.mixer.music.play()
updatelabel()
def previoussong(event):
global index
if index > 0 :
index -= 1
else:
index = len(listofsongs) - 1
pygame.mixer.music.load(listofsongs[index])
pygame.mixer.music.play()
updatelabel()
def stopsong(event):
pygame.mixer.music.stop()
v.set("")
更新当前播放歌曲名

def updatelabel():
global index
v.set(realnames[index])

效果图:

小编有自己的python学习交流群,大家如果想要来学习的话,可以加下:588+090+942不管你是小白还是大牛,小编都欢迎,而且小编会在群里面不定期分享干货,包括小编自己整理的一份2018年最新学习资料和零基础入门教程,欢迎初学和进阶中的小伙伴

原文地址:http://blog.51cto.com/13726370/2112631

时间: 2024-08-06 16:32:07

酷毙了!python用37行代码打造属于自己的音乐播放器,附源码的相关文章

HTML5 audio标签 打造属于自己的音乐播放器

最近学习了HTML5中的Audio标签,学习他的最好方式当然是实践,于是就自己写了一个.那就直接上演示链接吧 http://htmlpreview.github.io/?https://github.com/djlxiaoshi/Audio/blob/master/music.html.模仿了QQ音乐网页版的部分样式.谁叫自己不会UI呢! HTML5中增加了Audio和Video标签,这两个标签的用法非常相似.功能却是相当强大,我们先来看一下Audio标签各个浏览器的支持情况.这里用的依然是Ca

关于解决用tutorial7教程中的代码打造一款自己的播放器中的声音噪音问题

////////////////////////////////////////////////////////////////////////////////////////////对于用FFMPEG2.01和SDL2.01最新的版本来做音频播放器,这篇文章和版本是很有值得参考的价值这篇文章解决了我在做简易播放器的时候,用tutorial07的代码的时候,声音播放出现杂音的问题出现杂音的问题原因可以从http://blog.csdn.net/leixiaohua1020/article/det

微信小程序(有始有终,全部代码)开发---跑步App+音乐播放器

我的微信开发者工具 开篇语 好不容易,终于把所有的基础课程全部看完了!昨天,我很高兴地开始了看别人做的项目进行深度的学习.其实也说不上是项目吧,更多的像是一种给新手看的示例代码.然后我在这些代码上面进行我自己的改进.最后也就有了接下来我会给大家带来的这篇文章中的项目.这个项目是完整的,它包括了一个原本的示例代码中带着的莫名其妙的动画组件(可能是为了更多额展示微信小程序的控件体系)以及跑步的组件,还有我后来自己加上去的一个音乐播放组件.总共也就有了三个的功能:动画效果展示:跑步的定时以及定位功能:

android 打造ListView和Gridview万能adapter适配器(附源码)

android开发中,我们离不开adapter,每个项目都有很多地方需要adapter,那么我们如何让自己少写adapter代码呢?那就是封装adapter,让我们的adapter成为万能的adapter.下面我列出我实现的思路,供给大家学习与参考,当然有更好的方式也可以提供建议哦. 一.针对Listview或GridView的万能适配器(源码) 1.第一步实现公用的viewholder/** * 优化adapter用的ViewHolder * Created by admin on 17/8/

200行代码打造超越一线互联网公司的换肤架构

本专栏专注分享大型Bat面试知识,后续会持续更新,喜欢的话麻烦点击一个关注 面试官: 网易云QQ的换肤是怎么做到的,你对换肤有了解吗?看过换肤的原理没? 心理分析:没有接触过换肤技术 第一次听到该名词肯定会很茫然.面试官考的是对资源加载,监听布局,有没有了解.本文从换肤实战一对一讲解.告诉你如何做以及实现.文章末尾带换肤项目源码 求职者: 从监听布局开始到 换肤原理,详细给面试官讲解换肤的原理 接下来我们一起分享这篇干货. Android的主题换肤 ,可插件化提供皮肤包,无需Activity的重

150行代码打造.net core生产力工具,你值得拥有

原文:150行代码打造.net core生产力工具,你值得拥有 你是否在初学 .net core时,被依赖注入所折磨? 你是否在开发过程中,为了注入依赖而不停的在Startup中增加注入代码,而感到麻烦? 你是否考虑过或寻找过能轻松实现自动注入的组件? 如果有,那请欢迎继续往下看. 或许你是被我这标题给吸引过来的,请不要怀疑自己的眼睛,如果你真的遇到过以上的问题,那我相信我的分享能帮助到你. 再次声明,我不是标题党. 闲话少说,此组件已经在我们公司内部使用半年有余,虽然代码不多,但也确确实实为公

Python实现3行代码解简单的一元一次方程

Python实现3行代码解简单的一元一次方程 class Solution(object): def exec(self, equation): vars = None eqList = list(equation) denth = 0 for i,each in enumerate(equation): if each in "abcdefghijklmnopqrstuvwxyz": vars = each if i == 0: continue if equation[i-1] i

用Python打造一个只属于你的专属音乐播放器,享受动手的快乐!

平常我们总是用爬虫爬取网页上的音乐,今天我们换个玩法,用Python制作一个独一无二只属于你的音乐播放器,小伙伴们觉得如何?如果觉得提议还不错,那就立即动手吧! 一.需要的库 pygame tkinter mutagen 二.设计思路 作为初代版本0,我们并不想做太复杂的项目.只需实现以下几个功能: 将某个目录下的mp3文件名在listbox中显示 显示当前播放的歌曲名 播放上一首歌曲 播放下一首歌曲 停止播放 三.获取目录下的mp3文件 废话不多说,干货端上来: 与button有关的函数 更新

使用Vitamio打造自己的Android万能播放器(7)——在线播放(下载视频)

前言 本章将实现非常实用的功能——下载在线视频.涉及到多线程.线程更新UI等技术,还需思考产品的设计,如何将新加的功能更好的融入到现有的产品中,并不是简单的加一个界面就行了,欢迎大家交流产品设计和技术细节实现! 声明 欢迎转载,但请保留文章原始出处:) 博客园:http://www.cnblogs.com 农民伯伯: http://over140.cnblogs.com 系列 1.使用Vitamio打造自己的Android万能播放器(1)——准备 2.使用Vitamio打造自己的Android万