python怎么放音乐_[宜配屋]听图阁
本文实例使用Tkinter实现在线音乐播放器的具体代码,供大家参考,具体内容如下
1.先使用Tkinter库写界面
2.写点击按钮触发的事件
(1).使用网易音乐的api,返回数据包装成json格式数据,解析数据
(2)涉及到多线程的问题未解决,一个软件默认打开一个线程,当播放歌曲时,显示界面就会卡掉,导致python停止工作
代码:
#coding=utf-8
from Tkinter import *
import tkMessageBox
import urllib
import json
import mp3play
import time
musicList = []
#定义点击按钮响应的函数
def music():
#print "按钮点击"
#先判断用户是否在编辑框输入了内容
if E.get() == '':
#发出警告,需要先import tkMessageBox
tkMessageBox.showinfo("提示:","请先输入内容!")
#使用return,当满足前面的条件时,不在往下执行
return
#使用网易api,发送请求,需要import urllib
#报错,需要将汉字编码程ascii,才能添加到链接中
name = E.get().encode('utf-8')
name = urllib.quote(name)
html = urllib.urlopen('http://s.music.163.com/search/get/?type=1&s=%s&limit=9'%name).read()
#返回json格式数据,可用正则匹配需要数据,也可使用json.loads()
print html
#将返回文件转化为json格式,提取所需要的数据,需要import json
a = json.loads(html)
#print a
print a[u'result'][u'songs'][0][u'album'][u'name']
#将所有结果显示在列表中
#print len(a[u'result'][u'songs'][0])
for i in range(len(a[u'result'][u'songs'][0])):
#注意insert参数
LB.insert(i,a[u'result'][u'songs'][i][u'album'][u'name']+"("+a[u'result'][u'songs'][i][u'artists'][0][u'name']+")")
#先获取到歌曲url列表
musicList.append(a[u'result'][u'songs'][i][u'audio'])
#定义双击列表响应函数
def play(event):
#获取点击后返回的结果curselection()
#print LB.curselection()[0]
urlnum = LB.curselection()[0]
#不用流媒体播放,先下载下来再播放
# urllib.urlretrieve(musicList[urlnum],'1.mp3')
# #播放歌曲,调用import mp3play
# time.sleep(50)
clip = mp3play.load('1.mp3')
clip.play()
#设置播放时间import time
time.sleep(min(300, clip.seconds()))
#死机了,无法响应,因为线程的问题!!!!!!
#一个线程同一时间只能做一件事情,放歌时需再开一个线程
#创建父窗口对象,
top = Tk()
#可以设置窗口的属性,如:标题,大小
top.title("在线音乐播放器——张强")
top.geometry('500x300+800+300')
#创建编辑框,放到父窗口top上,用pack显示
E = Entry(top)
E.pack()
#创建按钮,定义按钮触发的函数command
B = Button(top,text="搜 索",command = music)
B.pack()
#定义列表的响应函数
LB = Listbox(top,width = '50',listvariable = StringVar())
#绑定触发事件的方式-双击左键,和响应函数
LB.bind('',play)
LB.pack()#要放到最后
#定义标签
label = Label(top,text = "欢迎使用!",fg = 'red')
label.pack()
#循环向windows发送消息,用于显示窗口
top.mainloop()
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。
python怎么放音乐_[宜配屋]听图阁相关推荐
- python 抽奖 配音乐_[宜配屋]听图阁
最近这几天,学习了一下python,对于爬虫比较感兴趣,就做了一个简单的爬虫项目,使用Python的库Tkinsert做了一个界面,感觉这个库使用起来还是挺方便的,音乐的数据来自网易云音乐的一个接口, ...
- python上下文管理关键字_[宜配屋]听图阁
前言 如果你有阅读源码的习惯,可能会看到一些优秀的代码经常出现带有 "with" 关键字的语句,它通常用在什么场景呢?今天就来说说 with 和 上下文管理器. 对于系统资源如文件 ...
- python tkinter布局混用_[宜配屋]听图阁
这篇文章主要介绍了python tkinter控件布局项目实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 代码部分: from tkinter ...
- 太极图python自定义函数绘制_[宜配屋]听图阁
效果如下所示: # -*- coding: utf-8 -*- import turtle # 绘制太极图函数 def draw_TJT(R): turtle.screensize(800, 600, ...
- python图片横向合并_[宜配屋]听图阁
起因: 有一批数据需要每个月进行分析,数据存储在excel中,行标题一致,需要横向合并进行分析. 数据示意: 具有多个 代码: # -*- coding: utf-8 -*- "" ...
- python写抽奖转盘_[宜配屋]听图阁
本文实例为大家分享了python实现转盘效果的具体代码,供大家参考,具体内容如下 #抽奖 面向对象版本 import tkinter import time import threading clas ...
- python画e指数函数_[宜配屋]听图阁
这里用Python逼近函数y = exp(x);同样使用泰勒函数去逼近: exp(x) = 1 + x + (x)^2/(2!) + .. + (x)^n/(n!) + ... #!/usr/bin/ ...
- python解图片迷宫_[宜配屋]听图阁
译注:原文是StackOverflow上一个如何用程序读取迷宫图片并求解的问题,几位参与者热烈地讨论并给出了自己的代码,涉及到用Python对图片的处理以及广度优先(BFS)算法等. 问题by Why ...
- python echo(msg) 字符串_[宜配屋]听图阁
本文实例讲述了python实现动态创建类的方法.分享给大家供大家参考,具体如下: python作为动态语言,如何在运行时动态创建类呢(python Creating classes dynamical ...
最新文章
- 中国电子学会青少年编程能力等级测试图形化四级编程题:打篮球
- cdmp不停增长 oracle_Stream异常导致Oracle不断产生trc文件
- HTML5 之 新特性 + 新对象
- day38 19-Spring整合web开发
- vue前端框架面试问题汇总,附答案
- Go map 转 slice
- springboot+vue全栈开发_全栈的自我修养: 002使用@vue/cli进行vue环境搭建 (使用Vue,SpringBoot,Flask完成前后端分离)...
- c语言除法的ns流程图,ns流程图(c语言ns流程图怎么画)
- 【labelme】数据标注工具
- 安装完永中office2009不能正常启动
- pytorch自定义Dataset,torch加载自己的numpy数据集,torch-cnn训练numpy进行回归
- 加泰罗尼亚理工大学 计算机 排名,加泰罗尼亚理工大学排名
- 网络直播课程:神马是敏捷?(直播时间:2014-7-14 20:00-21:00)
- [MFC] CList
- 如何用手机快速图片转文字呢?2个进阶教程,详细教程教你完成
- 文本 去除重复行(sublime Text3 ,正则表达式)
- MFC画带箭头的直线
- 互联网日报 | 5月2日 星期日 | 五一档总票房破5亿;中国联通在香港正式推出5G服务;欧盟首次对苹果发起反垄断诉讼
- 金融机房托管解决方案
- 解决Lua获取unity 文本内容时存在\u200B(8203)字符问题
热门文章
- 计算机无法快速预览pdf,常见电脑问题解决大全.pdf
- 现实世界的Windows Azure:访问海军研究局破坏性业务技术总监Dano DeBrou
- 阿克曼转向机制的车体控制
- 离散数学实验一 真值计算
- 各种反掩码的计算方法
- 如何使用ABBYY FineReader 14标记文本
- 软件编程网络资源汇总 .
- OPPOA31_官方线刷包_救砖包_解账户锁
- 手把手教你在STM32上实现OLED视频播放(很简单也很硬很肝!)
- (题目) (思维+栈)扶桑号战列舰