python音乐制作案例_Python制作线上音乐播放器的代码示例
这篇文章主要为大家详细介绍了Python实现在线音乐播放器的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
最近这几天,学习了一下python,对于爬虫比较感兴趣,就做了一个简单的爬虫项目,使用Python的库Tkinsert做了一个界面,感觉这个库使用起来还是挺方便的,音乐的数据来自网易云音乐的一个接口,通过requests模块,get请求将数据获得,使用Json模块进行数据的解析,最终使用python的mp3play库进行对音乐的在线播放,以下是该程序的源码。#!/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('',play)
listBox.pack()
root.mainloop()
def searchM():
global m_List
itemCount = 50
if not text.get():
tkMessageBox.showinfo('温馨提示','您可以输入以下内容进行搜索\n1.歌曲名\n2.歌手名\n3.部分歌词')
return
#获得输入的歌名
url = 'http://s.music.163.com/search/get/?type=1&s=%s&limit=%s'%(text.get(),itemCount)
#get请求
header = {'User-Agent':'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.75 Safari/537.36'}
html = requests.get(url,header)
data = json.loads(html.text)
m_List = []
try:
listBox.delete(0,listBox.size())
for MusicData in data['result']['songs']:
listBox.insert(END,MusicData['name'] +'------'+'(' +MusicData['artists'][0]['name'] + ')')
m_List.append(MusicData['audio'])
except Exception as e:
tkMessageBox.showinfo('温馨提示','查询过程出现错误,请重试')
#print '查询过程出现错误,请重试'
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 == 'main':
main()
程序运行结果:
【相关推荐】
1. Python免费视频教程
2. Python面向对象视频教程
3. Python基础教程
python音乐制作案例_Python制作线上音乐播放器的代码示例相关推荐
- python功能性爬虫案例_Python使用requests及BeautifulSoup构建爬虫实例代码
本文研究的主要是Python使用requests及BeautifulSoup构建一个网络爬虫,具体步骤如下. 功能说明 在Python下面可使用requests模块请求某个url获取响应的html文件 ...
- 线上音乐app开发功能需求
线上音乐app开发,线上音乐app开发功能需求.除小区以外,音乐社交也被越来越多人高度重视起來.线上音乐开发软件要想找寻新的发展方向,加强社交可是又不仅于社交.将来要高度重视音乐再创作的需求,而且打造 ...
- 数据分析案例学习---关于“线上教育提升毛利额问题
数据分析案例学习-关于"线上教育提升毛利额问题"思路总结如下 一.背景分析拆解: 1.某教育公司成立于1999年,早年发展线下职业教育,已做到一定规模,有一定的群众基础.近年,互联 ...
- python selenium 下载文件_Python Selenium —— 文件上传、下载,其实很简单
很多selenium学习者被浏览器弹出的文件上传.下载框折磨的痛不欲生,今天博主就带你们轻松搞定上传和下载问题. 上传 上传弹框 文件上传是所有UI自动化测试都要面对的一个头疼问题,要处理这个问题,我 ...
- vue写js代码_vue.js弹出式音乐播放器特效代码
码农那点事儿 关注我们,一起学习进步 vue弹出式音乐播放器是一款基于vue.js实现的点击弹出式音乐播放器代码特效,点击图片即可弹出播放界面大图,可切换列表模式,上一首下一首音乐切换等功能. 下载源 ...
- jsp网页嵌入PHP网页,JSP_(jsp/html)网页上嵌入播放器(常用播放器代码整理),这个其实很简单,只要在HTML上 - phpStudy...
(jsp/html)网页上嵌入播放器(常用播放器代码整理) 这个其实很简单,只要在HTML上添加以上代码就OK了,前提是你的电脑上已经安装了播放器,如RealPlay. 还有更多的的播放器和设置可供选 ...
- (jsp/html)网页上嵌入播放器(常用播放器代码整理) http://www.jb51.net/article/37267.htm...
网页上嵌入播放器,只要在HTML上添加以上代码就OK了,下面整理了一些常用的播放器代码,总有一款适合你,感兴趣的朋友可以参考下哈,希望对你有所帮助 这个其实很简单,只要在HTML上添加以上代码就OK了 ...
- python播放wav文件_python3 写一个WAV音频文件播放器的代码
环境:ubuntu 16.04 python3.5 pycharm 包 : wave pyaudio sys 上代码:AudioPlayer.py # coding:utf-8 # author:ki ...
- 网页上的播放器相关参数说明
网页上的播放器相关参数说明 (默认0为否,-1或1为是) <object classid="clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95&quo ...
最新文章
- 【Python算法】哈希存储、哈希表、散列表原理
- 先入为主与刚刚好(自省)
- 用css自定义滚动条样式
- Windwos中system、System32、SysWOW64区别
- Python之NumPy(axis=0 与axis=1)区分
- python getattrribute_python操作对象属性
- Can't create directory 'E:\Repositories\***\db\transactions\138-41.txn':
- 苹果ipadwps_ipad可以用wps吗?
- 电脑fps低怎么办_电脑想要英雄联盟玩的流畅,主要看哪几个方面?
- 《我和他的结婚录像和相册集》的快速传播
- 计算机信息安全与信息伦理课件,信息安全实验室
- 基于Huffman树的CBOW模型的理解
- 如何在Mac上使用Memoji贴纸、屏幕效果、应用程序和Messages
- HDU 6074 - Phone Call | 2017 Multi-University Training Contest 4
- thrift linux java,解决Linux下安装thrift出现的Building Java Library ........ : no问题(以及其他安装thrift出现的问题)...
- Win7自动登录,免密码
- Odoo客户成功案例访谈:机加工厂企业信息化的心路历程探讨
- win10命令行模式无法切换输入法
- C++ int类型转 LPCTSTR类型
- 文字点选验证码再也不是难题,通过率 96% 的深度学习了解一下!