python开发简易版在线音乐播放器


Posted in Python onMarch 03, 2017

在线音乐播放器,使用python的Tkinter库做了一个界面,感觉这个库使用起来还是挺方便的,音乐的数据来自网易云音乐的一个接口,通过urllib.urlopen模块打开网址,使用Json模块进行数据的解析,最后使用mp3play库对音乐进行在线播放,也可以同时下载mp3,开发环境:python2.7,附上源代码如下:

# _*_ coding:utf-8 _*_
from Tkinter import *
import tkMessageBox
import urllib
import json
import mp3play
 
def music():
 text = entry.get()
 text = text.encode('utf-8')
 text = urllib.quote(text)
 if not text:
 tkMessageBox.showinfo('温馨提示', '您可以输入以下内容进行搜索\n1.歌曲名\n2.歌手名\n3.部分歌词')
 return
 html=urllib.urlopen('http://s.music.163.com/search/get/?type=1&s=%s&limit=9' %text).read()
 text = json.loads(html)
 list_s = text['result']['songs']
 list_url = []
 global list_url
 list_name = []
 global list_name
 listbox.delete(0,listbox.size())
 for i in list_s:
 listbox.insert(END,i['name']+ "("+i['artists'][0]['name']+")")
 list_url.append(i['audio'])
 list_name.append(i['name'])
 
def play(event):
 global mp3
 sy = listbox.curselection()[0]
 mp3 = mp3play.load(list_url[sy])
 mp3.play()
 urllib.urlretrieve(list_url[sy], list_name[sy] + '.mp3')
 
root = Tk()
root.title("Tkinter Music")
root.geometry('+300+100')
entry = Entry(root)
entry.pack()
button = Button(root,text='搜索歌曲',command=music)
button.pack()
listbox = Listbox(root,width=50)
listbox.bind('<Double-Button-1>',play)
listbox.pack()
mainloop()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python单元测试框架unittest简明使用实例
Apr 13 Python
Python反射的用法实例分析
Feb 11 Python
python 文件转成16进制数组的实例
Jul 09 Python
python之文件读取一行一行的方法
Jul 12 Python
Python深拷贝与浅拷贝用法实例分析
May 05 Python
Python流程控制 if else实现解析
Sep 02 Python
Pycharm创建项目时如何自动添加头部信息
Nov 14 Python
在django中实现choices字段获取对应字段值
Jul 12 Python
Python实现异步IO的示例
Nov 05 Python
用python发送微信消息
Dec 21 Python
Python从MySQL数据库中面抽取试题,生成试卷
Jan 14 Python
Python实现给PDF添加水印的方法
Jan 25 Python
详解python中requirements.txt的一切
Mar 03 #Python
python中异常捕获方法详解
Mar 03 #Python
python利用不到一百行代码实现一个小siri
Mar 02 #Python
Python正则表达式教程之三:贪婪/非贪婪特性
Mar 02 #Python
Python正则表达式教程之二:捕获篇
Mar 02 #Python
Python正则表达式教程之一:基础篇
Mar 02 #Python
Python单例模式实例详解
Mar 01 #Python
You might like
字母顺序颠倒而单词顺序不变的php代码
2010/08/08 PHP
PHP错误抑制符(@)导致引用传参失败Bug的分析
2011/05/02 PHP
php class中self,parent,this的区别以及实例介绍
2013/04/24 PHP
PHP结合jQuery实现找回密码
2015/07/22 PHP
strpos() 函数判断字符串中是否包含某字符串的方法
2019/01/16 PHP
ppk谈JavaScript style属性
2008/10/10 Javascript
JavaScript 图片预览效果 推荐
2009/12/22 Javascript
用js实现计算加载页面所用的时间
2010/04/02 Javascript
40款非常棒的jQuery 插件和制作教程(系列一)
2011/10/26 Javascript
通过Javascript创建一个选择文件的对话框代码
2012/06/16 Javascript
关于JS管理作用域的问题
2013/04/10 Javascript
jQuery实现表格展开与折叠的方法
2015/05/04 Javascript
javascript操作表格排序实例分析
2015/05/06 Javascript
理解JavaScript的变量的入门教程
2015/07/07 Javascript
jQuery EasyUI 布局之动态添加tabs标签页
2015/11/18 Javascript
Node.js中npm常用命令大全
2016/06/09 Javascript
详解Vue 方法与事件处理器
2017/06/20 Javascript
详解Vue SPA项目优化小记
2018/07/03 Javascript
解决layui上传文件提示上传异常,实际文件已经上传成功的问题
2018/08/19 Javascript
JS浅拷贝和深拷贝原理与实现方法分析
2019/02/28 Javascript
[47:46]完美世界DOTA2联赛 Magma vs GXR 第三场 11.07
2020/11/10 DOTA
Python中实现结构相似的函数调用方法
2015/03/10 Python
使用Python读取二进制文件的实例讲解
2018/07/09 Python
Python 实现文件读写、坐标寻址、查找替换功能
2019/09/11 Python
基于python plotly交互式图表大全
2019/12/07 Python
CSS3 实现雷达扫描图的示例代码
2020/09/21 HTML / CSS
Html5实现单张、多张图片上传功能
2019/04/28 HTML / CSS
100%羊绒:NakedCashmere
2020/08/26 全球购物
工商管理专业实习生自我鉴定
2013/09/29 职场文书
机电一体化自荐信
2013/12/10 职场文书
高中毕业自我鉴定
2013/12/22 职场文书
高三语文教学反思
2014/01/15 职场文书
质量月活动策划方案
2014/03/10 职场文书
2014年教务工作总结
2014/12/03 职场文书
小学生作文写作技巧100例,非常实用!
2019/07/08 职场文书
解决MySQL存储时间出现不一致的问题
2021/04/28 MySQL