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 相关文章推荐
Python3中的2to3转换工具使用示例
Jun 12 Python
python实现批量按比例缩放图片效果
Mar 30 Python
Python实现TCP探测目标服务路由轨迹的原理与方法详解
Sep 04 Python
python从zip中删除指定后缀文件(推荐)
Dec 05 Python
python实现批量处理将图片粘贴到另一张图片上并保存
Dec 12 Python
python3+opencv生成不规则黑白mask实例
Feb 19 Python
python3实现往mysql中插入datetime类型的数据
Mar 02 Python
python实现俄罗斯方块游戏(改进版)
Mar 13 Python
python中字典增加和删除使用方法
Sep 30 Python
python中yield的用法详解
Jan 13 Python
python中subplot大小的设置步骤
Jun 28 Python
Anaconda安装pytorch和paddle的方法步骤
Apr 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
laravel实现批量更新多条记录的方法示例
2017/10/22 PHP
php实现生成带二维码图片并强制下载功能
2018/02/24 PHP
PHP使用 Imagick 扩展实现图片合成,圆角处理功能示例
2019/09/09 PHP
Javascript的&amp;&amp;和||的另类用法
2014/07/23 Javascript
js 动态修改css文件用到了cssRule
2014/08/20 Javascript
jQuery中not()方法用法实例
2015/01/06 Javascript
Javascript动态创建div的方法
2015/02/09 Javascript
JavaScript中switch语句的用法详解
2015/06/03 Javascript
浏览器环境下JavaScript脚本加载与执行探析之动态脚本与Ajax脚本注入
2016/01/19 Javascript
JavaScript实现简单Tip提示框效果
2016/04/20 Javascript
jQuery+ajax+asp.net获取Json值的方法
2016/06/08 Javascript
JQuery实现列表中复选框全选反选功能封装(推荐)
2016/11/24 Javascript
Vue.js实现分页查询功能
2020/11/15 Javascript
vue 2.x 中axios 封装的get 和post方法
2018/02/28 Javascript
Vue+Mock.js模拟登录和表格的增删改查功能
2018/07/26 Javascript
详解如何在nuxt中添加proxyTable代理
2018/08/10 Javascript
LayerClose弹窗关闭刷新方法
2018/08/17 Javascript
Node.js原生api搭建web服务器的方法步骤
2019/02/15 Javascript
配置eslint规范项目代码风格
2019/03/11 Javascript
window下eclipse安装python插件教程
2017/04/24 Python
python实现俄罗斯方块
2018/06/26 Python
python配置grpc环境
2019/01/01 Python
Python2和3字符编码的区别知识点整理
2019/08/08 Python
python中class的定义及使用教程
2019/09/18 Python
python多进程并行代码实例
2019/09/30 Python
django 简单实现登录验证给你
2019/11/06 Python
Python如何定义有默认参数的函数
2020/08/10 Python
Django mysqlclient安装和使用详解
2020/09/17 Python
英国家电购物网站:Sonic Direct
2019/03/26 全球购物
FC-Moto丹麦:欧洲最大的摩托车服装和头盔商店之一
2019/08/20 全球购物
物流管理专业大学生自荐信
2013/10/04 职场文书
战友聚会邀请函
2014/01/18 职场文书
促销活动计划书
2014/05/02 职场文书
保险公司客户经理岗位职责
2015/04/09 职场文书
python中的3种定义类方法
2021/11/27 Python
使用HBuilder制作一个简单的HTML5网页
2022/07/07 HTML / CSS