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中变量赋值的问题
Jan 12 Python
python函数中return后的语句一定不会执行吗?
Jul 06 Python
解决python写入mysql中datetime类型遇到的问题
Jun 21 Python
Django框架多表查询实例分析
Jul 04 Python
python字符串中匹配数字的正则表达式
Jul 03 Python
搭建python django虚拟环境完整步骤详解
Jul 08 Python
Python爬虫:将headers请求头字符串转为字典的方法
Aug 21 Python
python3.6、opencv安装环境搭建过程(图文教程)
Nov 05 Python
Python操作SQLite/MySQL/LMDB数据库的方法
Nov 07 Python
浅析Python数字类型和字符串类型的内置方法
Dec 22 Python
Python实现栈的方法详解【基于数组和单链表两种方法】
Feb 22 Python
Django form表单与请求的生命周期步骤详解
Jun 07 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
重置版战役片段
2020/04/09 魔兽争霸
php的memcached客户端memcached
2011/06/14 PHP
PHP捕获Fatal error错误的方法
2014/06/11 PHP
PHP支付系统设计与典型案例分享
2016/08/02 PHP
PHP下载远程图片的几种方法总结
2017/04/07 PHP
thinkphp5 migrate数据库迁移工具
2018/02/20 PHP
让低版本浏览器支持input的placeholder属性(js方法)
2013/04/03 Javascript
利用JQuery和Servlet实现跨域提交请求示例分享
2014/02/12 Javascript
js style动态设置table高度
2014/10/21 Javascript
JS实现仿Windows7风格的网页右键菜单效果代码
2015/09/11 Javascript
javascript跑马灯抽奖实例讲解
2020/04/17 Javascript
React Router v4 入坑指南(小结)
2018/04/08 Javascript
详解使用jest对vue项目进行单元测试
2018/09/07 Javascript
解决vue中el-tab-pane切换的问题
2020/07/19 Javascript
Openlayers测量距离与面积的实现方法
2020/09/25 Javascript
python k-近邻算法实例分享
2014/06/11 Python
Python多线程编程(四):使用Lock互斥锁
2015/04/05 Python
利用Anaconda简单安装scrapy框架的方法
2018/06/13 Python
Python socket套接字实现C/S模式远程命令执行功能案例
2018/07/06 Python
python退出命令是什么?详解python退出方法
2018/12/10 Python
python将pandas datarame保存为txt文件的实例
2019/02/12 Python
Pytorch在NLP中的简单应用详解
2020/01/08 Python
Python学习之路之pycharm的第一个项目搭建过程
2020/06/18 Python
python 实现倒计时功能(gui界面)
2020/11/11 Python
关于HTML5+ API plusready的兼容问题
2020/11/20 HTML / CSS
Lancome兰蔻官方旗舰店:来自法国的世界知名美妆品牌
2018/06/14 全球购物
Subside Sports德国:足球球衣和球迷商品
2019/06/08 全球购物
竞选学生会演讲稿
2014/04/25 职场文书
一份恶作剧的检讨书
2014/09/13 职场文书
2015年三年级班主任工作总结
2015/05/21 职场文书
小型婚礼主持词
2015/06/30 职场文书
高温慰问简报
2015/07/21 职场文书
奠基仪式致辞
2015/07/30 职场文书
七年级思品教学反思
2016/02/20 职场文书
2019年员工晋升管理制度范本!
2019/07/08 职场文书
MySQL性能压力基准测试工具sysbench的使用简介
2021/04/21 MySQL