Heim >Backend-Entwicklung >Python-Tutorial >Beispiel für eine Python-Implementierung eines Online-Musikplayers

Beispiel für eine Python-Implementierung eines Online-Musikplayers

高洛峰
高洛峰Original
2017-03-06 11:32:313310Durchsuche

Dieser Artikel stellt hauptsächlich die relevanten Informationen von Python zur Implementierung des Online-Musikplayers im Detail vor. Er hat einen gewissen Referenzwert.

In den letzten Tagen habe ich viel gelernt Als ich etwas über Python lernte, interessierte ich mich mehr für Crawler, also habe ich die Python-Bibliothek Tkinsert verwendet, um eine Schnittstelle zu erstellen. Die Musikdaten stammen von einer Schnittstelle von NetEase Cloud Music erhält über das Anforderungsmodul eine Anforderung zum Abrufen der Daten, analysiert die Daten mit dem Json-Modul und verwendet schließlich die MP3Play-Bibliothek von Python, um die Musik online abzuspielen. Das Folgende ist der Quellcode des Programms.

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Date : 2016-12-28 21:03:21
# @Author : Donoy (172829352@qq.com)
# @Link : http://www.cnblogs.com/Donoy/
# @Version : $Id$
 
from Tkinter import *
import tkMessageBox
import requests
import json
import urllib
import mp3play
import threading
import time
 
def center_window(root, width, height): 
 screenwidth = root.winfo_screenwidth() 
 screenheight = root.winfo_screenheight() 
 size = '%dx%d+%d+%d' % (width, height, (screenwidth - width)/2, (screenheight - height)/2) 
 root.geometry(size) 
 
def createWnd():
 global root
 global listBox
 global text
  
 root = Tk()
 root.title('-----DMPlayer------来自网易云音乐-----')
 
 center_window(root, 440, 250)
 
 root['background'] = '#C7EDCC'
  
 text = Entry(font='宋体',width=36)
 text.pack()
 button = Button(root,text='搜索',width=18,fg='red',background='#CDCDC1',command=searchM).pack()
  
 listBox = Listbox(root, height=12,width=72,background='#C7EDCC')
 listBox.bind(&#39;<Double-Button-1>&#39;,play)
 listBox.pack()
 
 root.mainloop()
 
def searchM():
 global m_List 
 itemCount = 50
 
 if not text.get():
  tkMessageBox.showinfo(&#39;温馨提示&#39;,&#39;您可以输入以下内容进行搜索\n1.歌曲名\n2.歌手名\n3.部分歌词&#39;)
  return
 
 #获得输入的歌名
 url = &#39;http://s.music.163.com/search/get/?type=1&s=%s&limit=%s&#39;%(text.get(),itemCount)
  
 #get请求
 header = {&#39;User-Agent&#39;:&#39;Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.75 Safari/537.36&#39;}
 html = requests.get(url,header)
 data = json.loads(html.text)
 m_List = []
 
 try:
  listBox.delete(0,listBox.size())
  for MusicData in data[&#39;result&#39;][&#39;songs&#39;]:
   listBox.insert(END,MusicData[&#39;name&#39;] +&#39;------&#39;+&#39;(&#39; +MusicData[&#39;artists&#39;][0][&#39;name&#39;] + &#39;)&#39;)
   m_List.append(MusicData[&#39;audio&#39;])
 except Exception as e: 
  tkMessageBox.showinfo(&#39;温馨提示&#39;,&#39;查询过程出现错误,请重试&#39;)
  #print &#39;查询过程出现错误,请重试&#39;
  
  
def play(args):
 try:
  global mp3
  sy = listBox.curselection()[0]
  mp3 = mp3play.load(m_List[int(sy)])
  mp3.play()
  #time.sleep(1000)
 except Exception as e:
  pass
 
  
def main():
 createWnd()
 
 
if __name__ == &#39;__main__&#39;:
 main()

Ergebnisse der Programmausführung:

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass es für alle hilfreich sein wird. Das Lernen ist hilfreich und ich hoffe, dass jeder die chinesische PHP-Website unterstützen wird.

Weitere Artikel zur Python-Implementierung von Online-Musikplayer-Beispielen finden Sie auf der chinesischen PHP-Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn