python开发简易版在线音乐播放器

作者:whaben 时间:2022-08-29 14:38:29 

在线音乐播放器,使用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,播放器
0
投稿

猜你喜欢

  • 利用20行Python 代码实现加密通信

    2023-04-22 06:18:54
  • Python中__repr__和__str__区别详解

    2022-02-17 04:45:25
  • 白鸦:内容设计,初始内容

    2008-03-04 16:23:00
  • python制作一个桌面便签软件

    2021-02-23 05:20:40
  • 对python中的iter()函数与next()函数详解

    2022-01-29 19:05:36
  • asp如何对Access数据库进行压缩?

    2009-11-19 21:20:00
  • Python中sys.argv用法图文详解

    2023-09-07 18:30:00
  • 基于pygame实现童年掌机打砖块游戏

    2023-09-18 20:41:28
  • python下PyGame的下载与安装过程及遇到问题

    2021-09-24 00:12:15
  • python多线程、网络编程、正则表达式详解

    2023-03-03 21:33:14
  • Python如何输出整数

    2022-03-30 07:19:35
  • 详解Python图像处理库Pillow常用使用方法

    2022-07-17 11:04:53
  • 什么是XML

    2008-09-05 17:21:00
  • asp Response.flush 实时显示进度

    2011-04-14 10:31:00
  • 用FrontPage200八步快速建站

    2008-09-17 10:52:00
  • Django表单外键选项初始化的问题及解决方法

    2022-07-09 04:28:42
  • pandas.read_csv参数详解(小结)

    2022-03-10 21:00:35
  • 关于H1的用法探讨

    2008-03-18 12:55:00
  • 关于人物角色设计讨论

    2008-10-16 13:47:00
  • thinkphp控制器调度使用示例

    2023-11-16 12:34:15
  • asp之家 网络编程 m.aspxhome.com