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 dict remove数组删除(del,pop)
Mar 24 Python
详解Python中的Cookie模块使用
Jul 06 Python
python中函数传参详解
Jul 03 Python
python发送邮件功能实现代码
Jul 15 Python
python中的字符串内部换行方法
Jul 19 Python
使用Python横向合并excel文件的实例
Dec 11 Python
python实现最大子序和(分治+动态规划)
Jul 05 Python
Window10下python3.7 安装与卸载教程图解
Sep 30 Python
PyTorch中的Variable变量详解
Jan 07 Python
Python制作一个仿QQ办公版的图形登录界面
Sep 22 Python
python 实现单例模式的5种方法
Sep 23 Python
利用python做表格数据处理
Apr 13 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
全国FM电台频率大全 - 12 安徽省
2020/03/11 无线电
PHP中的string类型使用说明
2010/07/27 PHP
利用php绘制饼状图的实现代码
2013/06/07 PHP
VIM中设置php自动缩进为4个空格的方法详解
2013/06/14 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(八)
2014/06/23 PHP
yii中widget的用法
2014/12/03 PHP
Yii数据模型中rules类验证器用法分析
2016/07/15 PHP
php中遍历二维数组并以表格的形式输出的方法
2017/01/03 PHP
Laravel使用PHPQRCODE实现生成带有LOGO的二维码图片功能示例
2017/07/07 PHP
js几个不错的函数 $$()
2006/10/09 Javascript
点击广告后才能获得下载地址
2006/10/26 Javascript
Prototype Selector对象学习
2009/07/23 Javascript
javascript 定义初始化数组函数
2009/09/07 Javascript
javascript实现json页面分页实例代码
2014/02/20 Javascript
Javascript中typeof 用法小结
2015/05/12 Javascript
Webpack优化配置缩小文件搜索范围
2017/12/25 Javascript
jQuery实现图片下载代码
2019/07/18 jQuery
javascript如何实现create方法
2019/11/04 Javascript
vue 路由守卫(导航守卫)及其具体使用
2020/02/25 Javascript
javascript实现智能手环时间显示
2020/09/18 Javascript
[58:46]OG vs NAVI 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
[48:18]DOTA2-DPC中国联赛 正赛 RNG vs Dynasty BO3 第二场 1月29日
2021/03/11 DOTA
python 信息同时输出到控制台与文件的实例讲解
2018/05/11 Python
Django微信小程序后台开发教程的实现
2020/06/03 Python
python mysql中in参数化说明
2020/06/05 Python
PyQt5的QWebEngineView使用示例
2020/10/20 Python
Python实现Excel自动分组合并单元格
2021/02/22 Python
Skyscanner加拿大:全球旅行搜索平台
2018/11/19 全球购物
Ibatis中如何提高SQL Map的性能
2013/05/11 面试题
董事长岗位职责
2013/11/30 职场文书
教职工代表大会主持词
2014/04/01 职场文书
档案保密承诺书
2014/06/03 职场文书
村主任当选感言
2015/08/01 职场文书
pandas求平均数和中位数的方法实例
2021/08/04 Python
Java中的继承、多态以及封装
2022/04/11 Java/Android
Go结合Gin导出Mysql数据到Excel表格
2022/08/05 Golang