zoukankan      html  css  js  c++  java
  • python 开发在线音乐播放器-简易版

    在线音乐播放器,使用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('温馨提示', '您可以输入以下内容进行搜索
    1.歌曲名
    2.歌手名
    3.部分歌词')
            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基础之变量
    Python3获取大量电影信息:调用API
    10分钟制作UWP汉堡菜单
    java 异常处理
    多态
    接口与继承
    数组及课后动手动脑
    String类型
  • 原文地址:https://www.cnblogs.com/whaben/p/6445503.html
Copyright © 2011-2022 走看看