python调用默认播放器_python使用Tkinter实现在线音乐播放器
本文实例使用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使用Tkinter实现在线音乐播放器相关推荐
- python播放网络音乐_python使用Tkinter实现在线音乐播放器
本文实例使用Tkinter实现在线音乐播放器的具体代码,供大家参考,具体内容如下 1.先使用Tkinter库写界面 2.写点击按钮触发的事件 (1).使用网易音乐的api,返回数据包装成json格式数 ...
- python开发音乐播放器教程_python开发简易版在线音乐播放器示例代码
在线音乐播放器,使用python的Tkinter库做了一个界面,感觉这个库使用起来还是挺方便的,音乐的数据来自网易云音乐的一个接口,通过urllib.urlopen模块打开网址,使用Json模块进行数 ...
- python写音乐播放器_python 模拟(简易)音乐播放器
模拟一个在线音乐播放程序 # 1, 使用C/S架构来进行设计,分别写出客户端和服务器程序 # 2,客户端链接服务器之后,服务器向用户提示可以选择的歌曲列表,用户选择后开始播放(音频文件存放在本地即可) ...
- 【基于Qt的在线音乐播放器】
基于Qt的在线音乐播放器 项目功能: 本在线音乐播放器的功能在于创建一个音乐播放器页面,可以实现搜索功能通过HTTP协议获取网络中数据并解析出来,播放搜索到的歌曲并展示相关信息.效果如图: 相关类及功 ...
- j2me在线音乐播放器技术分析
j2me在线音乐播放器技术分析 1.在线音乐播放器: 音乐资源存储在服务器端,手机客户端通过无线网络读取服务器端音乐资源进行播放,播放器具有播放.暂停.快进.快退.循环播放.显示播放进度.时间等功能. ...
- 基于ssm的在线音乐播放网站的设计与实现
摘要 随着计算机网络技术的高速发展,很多校园网.街道网络和公司网络都能很好的提供给人们快速的网络,正好能满足热爱音乐的网友在网上播放音乐和分享音乐的需要.依据网友的需求,在线音乐播放网站正式开始发展. ...
- python播放在线音乐_Python实现在线音乐播放器
最近这几天,学习了一下python,对于爬虫比较感兴趣,就做了一个简单的爬虫项目,使用Python的库Tkinsert做了一个界面,感觉这个库使用起来还是挺方便的,音乐的数据来自网易云音乐的一个接口, ...
- python播放网络音乐_Python实现在线音乐播放器示例
这篇文章主要为大家详细介绍了Python实现在线音乐播放器的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 最近这几天,学习了一下python,对于爬虫比较感兴趣,就做了一个简单的爬虫项目 ...
- python实现在线音乐播放器(懒皮鼠音乐)
python实现在线音乐播放器(懒皮鼠音乐) 利用qt设计requests库实现在线音乐播放 文章目录 python实现在线音乐播放器(懒皮鼠音乐) 前言 一.qt设计师设计界面 二.使用步骤 1.引 ...
最新文章
- python八大排序算法 间书_python八大排序算法
- java线程池的工作原理_Java 线程池的介绍以及工作原理
- 小型音乐播放器插件APlayer.js的简单使用例子
- MML命令_华为TD-LTE后台常用MML命令操作
- 微信小程序开发教程第七章:微信小程序编辑名片页面开发
- 面试题 锁消除是什么
- 解决: Your ApplicationContext is unlikely to start due to a @ComponentScan of the default
- mysql: order by, group by ,having, select, where 执行 顺序
- 自适应滤波器原理第四版计算机实验,自适应滤波器原理(中文第4版)答案
- linux运行出现断错误,在linux下代码运行出现段错误,求大神
- Banner中利用Jquery隐藏显示下方DIV块
- mate20html查看器,华为Mate20系列迎重大升级 系统支持方舟编译器
- linux添加ctrl c,Linux ctrl-c explained(ctrl-c 详解)
- 使用elastic job 不分片任务加载失败的可能原因
- 2.1 Hadoop环境搭建
- iOS App所需图标尺寸
- Liunx官网下载步骤
- UGUI Canvas(画布)详解
- 企业电子采购管理系统解决方案:供应商内外协同,全程电子化采购系统管理
- SVN更新出错 提示:working copy XXX locked