zoukankan      html  css  js  c++  java
  • 在线音乐播放器1

    # -*- coding:utf-8-*-
    from Tkinter import *
    import tkMessageBox #提示
    import urllib
    import json #形成一个字典
    import mp3play #mp3播放器
    import time
    musiclist =[]
    def music():
    name = entry.get()
    name =urllib.quote(name.encode('utf-8'))
    if not name:
    tkMessageBox.showinfo('提示:','请先输入 歌手名在搜索!')
    return #如果输入错误将出现提示
    html =urllib.urlopen("http://s.music.163.com/search/get/?type=1&s=%s&limit=9"%name).read() #获取网页源代码
    text =json.loads(html) #形成字典
    list_songs = text['result']['songs']   #获取源代码
    for i in range(len(list_songs)):
    listbox.insert(i,list_songs[i]['name']+'('+list_songs[i]['artists'][0]['name']+')')
    musiclist.append(list_songs[i]['audio']) #注意书写格式
    def play(event): #event书写格式不能少
    sy = listbox.curselection()[0]  查找
    music_url =musiclist[sy]
    urllib.urlretrieve(music_url,'1.mp3')
    mp3 = mp3play.load('1.mp3')下载
    mp3.play()
    time.sleep(mp3.seconds())
    mp3.stop()
    root = Tk()
    root.title('音乐盒子')
    root.geometry('500x400')
    entry = Entry(root)
    entry.pack()
    button = Button(text = '搜索',fg = 'red',command=music).pack() #command连接前边的music函数即搜索的连接
    var = StringVar()  #添加鼠标双击
    listbox = Listbox(root,width ='700',listvariable=var) #鼠标双击
    listbox.bind('<Double-Button-1>',play) #鼠标双击
    listbox.pack()
    Label(text= '欢迎使用',fg='red').pack()
    root.mainloop()

    for i in range(len(list_songs)):         
            listbox.insert(i,list_songs[i]['name']+'('+list_songs[i]['artists'][0]['name']+')')        #取字典的时候要打开所有的分组
            musiclist.append(list_songs[i]['audio'])            #与上图对比





  • 相关阅读:
    责任链模式(Chain of Responsibility)
    模板模式(Template Method)
    组合模式(Composite Pattern)
    原型模式(Prototype Pattern)
    策略模式(Strategy Pattern)
    状态模式(State Pattern)
    增删改查
    安卓sql
    安卓第三次作业
    安卓第四周作业
  • 原文地址:https://www.cnblogs.com/ZHANG576433951/p/6060152.html
Copyright © 2011-2022 走看看