各位用户为了找寻关于python开发简易版在线音乐播放器的资料费劲了很多周折。这里教程网为您整理了关于python开发简易版在线音乐播放器的相关资料,仅供查阅,以下为您介绍关于python开发简易版在线音乐播放器的详细内容
在线音乐播放器,使用python的Tkinter库做了一个界面,感觉这个库使用起来还是挺方便的,音乐的数据来自网易云音乐的一个接口,通过urllib.urlopen模块打开网址,使用Json模块进行数据的解析,最后使用mp3play库对音乐进行在线播放,也可以同时下载mp3,开发环境:python2.7,附上源代码如下:
? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45# _*_ 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()
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。