• 技术文章 >后端开发 >Python教程

    python开发简易版在线音乐播放器示例代码

    高洛峰高洛峰2017-03-06 11:34:47原创762
    在线音乐播放器,使用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()

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持PHP中文网。

    更多python开发简易版在线音乐播放器示例代码相关文章请关注PHP中文网!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:python 播放器
    上一篇:Python实现在线音乐播放器示例 下一篇:详解快速实现基于Python的微信聊天机器人示例代码
    20期PHP线上班

    相关文章推荐

    精选22门好课,价值3725元,开通VIP免费学习!• python虚拟环境配置与管理• 总结分享Python冷门的技巧• 一文搞懂怎么在python中读取和写入CSV文件• 一文搞懂Python爬虫解析器BeautifulSoup4• 聊聊Python中列表和字典前加星号(**)
    1/1

    PHP中文网