最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python實(shí)現(xiàn)簡(jiǎn)易云音樂(lè)播放器

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

本人最近在學(xué)習(xí)python,在看了一些教程后,用python寫(xiě)了一個(gè)簡(jiǎn)單的云音樂(lè)播放器,下面把主要代碼貼上來(lái),其中用到了github上他人寫(xiě)的一個(gè)漢字轉(zhuǎn)拼音的庫(kù),大家可以在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)建一個(gè)窗口 
root.title("云音樂(lè)") 
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="云音樂(lè)播放器",fg="purple",textvariable=var1) 
var1.set("云音樂(lè)播放器") 
label.pack() 
root.mainloop()#顯示窗口

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

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

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

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

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

    python繪圖庫(kù)Matplotlib的安裝

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

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

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

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

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

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

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

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

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

    python爬蟲(chóng)進(jìn)階之協(xié)程詳解

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

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

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

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

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

    python 獲取list特定元素下標(biāo)的實(shí)例講解

    下面小編就為大家分享一篇python 獲取list特定元素下標(biāo)的實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04

最新評(píng)論

贺兰县| 天长市| 长沙县| 哈尔滨市| 金川县| 西昌市| 神木县| 鄯善县| 乐陵市| 乐昌市| 和静县| 广河县| 都兰县| 尼玛县| 横山县| 万荣县| 迁安市| 郸城县| 瓦房店市| 衢州市| 澳门| 宁都县| 方山县| 宣化县| 资溪县| 新密市| 温泉县| 松江区| 屯昌县| 平南县| 桃园市| 嘉兴市| 乌拉特中旗| 林口县| 根河市| 务川| 行唐县| 诸城市| 东阳市| 中江县| 湘潭市|