欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python實現(xiàn)簡易云音樂播放器

 更新時間:2018年01月04日 09:46:07   作者:wanlichangkong666  
這篇文章主要介紹了python實現(xiàn)簡易云音樂播放器,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本人最近在學習python,在看了一些教程后,用python寫了一個簡單的云音樂播放器,下面把主要代碼貼上來,其中用到了github上他人寫的一個漢字轉(zhuǎn)拼音的庫,大家可以在github上找到。

#coding=utf-8 
from Tkinter import * 
import tkMessageBox 
import urllib 
import json 
import mp3play 
import time 
import threading 
from pinyin import PinYin 
import os 
import stat 
test = PinYin() 
test.load_word() 
stop=0 
def music(): 
  if not entry.get(): 
    tkMessageBox.showinfo("溫馨提示","搜索內(nèi)容不能為空") 
    return 
  name = test.hanzi2pinyin_split(entry.get()) 
  html=urllib.urlopen("http://s.music.163.com/search/get/?type=1&s=%s&limit=9"%name).read() 
  js=json.loads(html) 
  n = 0 
  global x 
  x = [] 
  for i in js['result']['songs']: 
    listbox.insert(n,'%s(%s)'%(i['name'],i['artists'][0]['name'])) 
    n+=1 
    x.append(i['audio']) 
count = 0 
#isplaying = None 
def play(): 
  global count 
  count += 1 
  index=listbox.curselection() 
  var1.set(u"正在加載"+listbox.get(index,last=None)) 
  urllib.urlretrieve(x[index[0]],'tmp%s.mp3'%str(count)) 
  var1.set(u"正在播放"+listbox.get(index,last=None)) 
  mp3=mp3play.load("tmp%s.mp3"%str(count)) 
  mp3.play() 
  time.sleep(mp3.seconds()) 
 
import inspect 
import ctypes 
 
def _async_raise(tid, exctype): 
  """raises the exception, performs cleanup if needed""" 
  tid = ctypes.c_long(tid) 
  if not inspect.isclass(exctype): 
    exctype = type(exctype) 
  res = ctypes.pythonapi.PyThreadState_SetAsyncExc(tid, ctypes.py_object(exctype)) 
  if res == 0: 
    raise ValueError("invalid thread id") 
  elif res != 1: 
    ctypes.pythonapi.PyThreadState_SetAsyncExc(tid, None) 
    raise SystemError("PyThreadState_SetAsyncExc failed") 
 
def stop_thread(thread): 
  _async_raise(thread.ident, SystemExit) 
threads=list() 
t=None 
def excute(event): 
  global t 
  for i in threads: 
    stop_thread(i) 
  t = threading.Thread(target=play) 
  t.setDaemon(True) 
  t.start() 
  threads.append(t) 
root = Tk()#創(chuàng)建一個窗口 
root.title("云音樂") 
root.geometry("500x300+500+200") 
entry=Entry(root)#創(chuàng)建輸入框(單行),置父 
entry.pack() 
btn=Button(root,text="搜 索",command=music) 
btn.pack()#布局方式必須用同一種 
var=StringVar() 
listbox=Listbox(root,width=50,listvariable=var) 
listbox.bind('<Double-Button-1>',excute) 
listbox.pack() 
var1=StringVar() 
label=Label(root,text="云音樂播放器",fg="purple",textvariable=var1) 
var1.set("云音樂播放器") 
label.pack() 
root.mainloop()#顯示窗口

由于最近事情較多加上我的技術(shù)還不到位,這個播放器有一個BUG我還沒有解決,就是在選擇播放第二首歌時,第一首歌不會停止。如果有小伙伴解決了這個BUG的話,歡迎指正。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 基于PyQt5制作一個gif動態(tài)圖片生成器

    基于PyQt5制作一個gif動態(tài)圖片生成器

    這篇文章主要介紹了基于PyQt5實現(xiàn)的gif動態(tài)圖片生成器,這個小工具制作的目的是為了將多張圖片組合后生成一張動態(tài)的GIF圖片。需要的可以參考一下
    2022-01-01
  • python繪圖庫Matplotlib的安裝

    python繪圖庫Matplotlib的安裝

    這篇文章主要介紹了python庫繪圖Matplotlib的安裝,需要的朋友可以參考下
    2014-07-07
  • DJANGO-ALLAUTH社交用戶系統(tǒng)的安裝配置

    DJANGO-ALLAUTH社交用戶系統(tǒng)的安裝配置

    django-allauth是集成了local用戶系統(tǒng)和social用戶系統(tǒng),其social用戶系統(tǒng)可以掛載多個賬戶。也是一個流行度非常高的Django user系統(tǒng),我們這里簡單介紹下,分享下個人的使用經(jīng)驗
    2014-11-11
  • Python如何使用__slots__實現(xiàn)節(jié)省內(nèi)存和性能優(yōu)化

    Python如何使用__slots__實現(xiàn)節(jié)省內(nèi)存和性能優(yōu)化

    你有想過,一個小小的 __slots__ 能讓你的 Python 類內(nèi)存消耗直接減半嗎,沒錯,今天咱們要聊的就是這個讓人眼前一亮的技巧,感興趣的小伙伴可以了解下
    2025-03-03
  • Numpy數(shù)值積分的實現(xiàn)

    Numpy數(shù)值積分的實現(xiàn)

    本文主要介紹了Numpy數(shù)值積分的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-02-02
  • Python3匿名函數(shù)lambda介紹與使用示例

    Python3匿名函數(shù)lambda介紹與使用示例

    這篇文章主要給大家介紹了關(guān)于Python3匿名函數(shù)lambda與使用的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Python3具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-05-05
  • python爬蟲進階之協(xié)程詳解

    python爬蟲進階之協(xié)程詳解

    這篇文章主要介紹了python爬蟲進階之協(xié)程詳解,coroutine中文翻譯叫協(xié)程,在 Python 中昌指代為協(xié)程對象類型,可以將協(xié)程對象注冊到時間循環(huán)中被調(diào)用,需要的朋友可以參考下
    2023-08-08
  • Python裝飾器簡單用法實例小結(jié)

    Python裝飾器簡單用法實例小結(jié)

    這篇文章主要介紹了Python裝飾器簡單用法,結(jié)合實例形式總結(jié)分析了Python裝飾器的基本功能、簡單用法及相關(guān)操作注意事項,需要的朋友可以參考下
    2018-12-12
  • Python?wxPython庫實現(xiàn)文本框與按鈕交互

    Python?wxPython庫實現(xiàn)文本框與按鈕交互

    在Python的圖形用戶界面(GUI)開發(fā)中,wxPython是一個功能強大的庫,本文主要為大家介紹了如何使用wxPython庫實現(xiàn)文本框與按鈕交互,需要的可以了解下
    2025-01-01
  • python 獲取list特定元素下標的實例講解

    python 獲取list特定元素下標的實例講解

    下面小編就為大家分享一篇python 獲取list特定元素下標的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04

最新評論