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将xml xsl文件生成html文件存储示例讲解
Dec 03 Python
python中的yield使用方法
Feb 11 Python
Python实现设置windows桌面壁纸代码分享
Mar 28 Python
Python使用BeautifulSoup库解析HTML基本使用教程
Mar 31 Python
python中os模块详解
Oct 14 Python
Android分包MultiDex策略详解
Oct 30 Python
对Python3.x版本print函数左右对齐详解
Dec 22 Python
Python多线程原理与用法实例剖析
Jan 22 Python
详解python中的模块及包导入
Aug 30 Python
Python PyQt5整理介绍
Apr 01 Python
Python如何使用正则表达式爬取京东商品信息
Jun 01 Python
python time.strptime格式化实例详解
Feb 03 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
一个简单的自动发送邮件系统(三)
2006/10/09 PHP
解析CI即CodeIgniter框架在Nginx下的重写规则
2013/06/03 PHP
php 使用file_get_contents读取大文件的方法
2014/11/13 PHP
PHP判断字符串长度的两种方法很实用
2015/09/22 PHP
YII2.0之Activeform表单组件用法实例
2016/01/09 PHP
ExtJs之带图片的下拉列表框插件
2010/03/04 Javascript
浅谈JavaScript实现面向对象中的类
2014/12/09 Javascript
AngularJS 服务详细讲解及示例代码
2016/08/17 Javascript
jQuery web 组件 后台日历价格、库存设置的代码
2016/10/14 Javascript
javascript中的后退和刷新实现方法
2016/11/10 Javascript
jQuery中.attr()和.data()的区别分析
2017/09/03 jQuery
vue resource post请求时遇到的坑
2017/10/19 Javascript
vue中路由验证和相应拦截的使用详解
2017/12/13 Javascript
详解React+Koa实现服务端渲染(SSR)
2018/05/23 Javascript
angular2 ng2-file-upload上传示例代码
2018/08/23 Javascript
angularjs手动识别字符串中的换行符方法
2018/10/02 Javascript
Python中分数的相关使用教程
2015/03/30 Python
Python的Bottle框架中获取制定cookie的教程
2015/04/24 Python
插入排序_Python与PHP的实现版(推荐)
2017/05/11 Python
Python实现获取命令行输出结果的方法
2017/06/10 Python
Python 删除整个文本中的空格,并实现按行显示
2018/07/24 Python
详解pandas库pd.read_excel操作读取excel文件参数整理与实例
2019/02/17 Python
Python+Redis实现布隆过滤器
2019/12/08 Python
Python创建文件夹与文件的快捷方法
2020/12/08 Python
CSS3之边框多颜色Border-color属性使用示例
2013/10/11 HTML / CSS
德国机场停车位比较和预订网站:Ich-parke-billiger
2018/01/08 全球购物
会计电算化专业毕业生推荐信
2013/12/24 职场文书
2014年两会学习心得体会
2014/03/10 职场文书
派出所所长先进事迹
2014/05/19 职场文书
小学班主任经验交流材料
2014/12/16 职场文书
手术室消毒隔离制度
2015/08/05 职场文书
Python OpenCV 彩色与灰度图像的转换实现
2021/06/05 Python
Spring Data JPA使用JPQL与原生SQL进行查询的操作
2021/06/15 Java/Android
MySQL中连接查询和子查询的问题
2021/09/04 MySQL
python实现对doc、txt、xls等文档的读写操作
2022/04/02 Python
Oracle用户管理及赋权
2022/04/24 Oracle