这篇文章主要为大家详细介绍了 python 开发简易版在线音乐播放器的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
Python 是一种面向对象、解释型计算机程序设计语言,由 Guido van Rossum 于 1989 年底发明,第一个公开发行版发行于 1991 年。Python 语法简洁而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,它能够把用其他语言制作的各种模块(尤其是 C/C++)很轻松地联结在一起。
在线音乐播放器,使用 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()
来源: http://www.phperz.com/article/17/0318/326072.html