这篇文章主要为大家详细介绍了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制作线上音乐播放器的代码示例相关推荐

  1. python功能性爬虫案例_Python使用requests及BeautifulSoup构建爬虫实例代码

    本文研究的主要是Python使用requests及BeautifulSoup构建一个网络爬虫,具体步骤如下. 功能说明 在Python下面可使用requests模块请求某个url获取响应的html文件 ...

  2. 线上音乐app开发功能需求

    线上音乐app开发,线上音乐app开发功能需求.除小区以外,音乐社交也被越来越多人高度重视起來.线上音乐开发软件要想找寻新的发展方向,加强社交可是又不仅于社交.将来要高度重视音乐再创作的需求,而且打造 ...

  3. 数据分析案例学习---关于“线上教育提升毛利额问题

    数据分析案例学习-关于"线上教育提升毛利额问题"思路总结如下 一.背景分析拆解: 1.某教育公司成立于1999年,早年发展线下职业教育,已做到一定规模,有一定的群众基础.近年,互联 ...

  4. python selenium 下载文件_Python Selenium —— 文件上传、下载,其实很简单

    很多selenium学习者被浏览器弹出的文件上传.下载框折磨的痛不欲生,今天博主就带你们轻松搞定上传和下载问题. 上传 上传弹框 文件上传是所有UI自动化测试都要面对的一个头疼问题,要处理这个问题,我 ...

  5. vue写js代码_vue.js弹出式音乐播放器特效代码

    码农那点事儿 关注我们,一起学习进步 vue弹出式音乐播放器是一款基于vue.js实现的点击弹出式音乐播放器代码特效,点击图片即可弹出播放界面大图,可切换列表模式,上一首下一首音乐切换等功能. 下载源 ...

  6. jsp网页嵌入PHP网页,JSP_(jsp/html)网页上嵌入播放器(常用播放器代码整理),这个其实很简单,只要在HTML上 - phpStudy...

    (jsp/html)网页上嵌入播放器(常用播放器代码整理) 这个其实很简单,只要在HTML上添加以上代码就OK了,前提是你的电脑上已经安装了播放器,如RealPlay. 还有更多的的播放器和设置可供选 ...

  7. (jsp/html)网页上嵌入播放器(常用播放器代码整理) http://www.jb51.net/article/37267.htm...

    网页上嵌入播放器,只要在HTML上添加以上代码就OK了,下面整理了一些常用的播放器代码,总有一款适合你,感兴趣的朋友可以参考下哈,希望对你有所帮助 这个其实很简单,只要在HTML上添加以上代码就OK了 ...

  8. python播放wav文件_python3 写一个WAV音频文件播放器的代码

    环境:ubuntu 16.04 python3.5 pycharm 包 : wave pyaudio sys 上代码:AudioPlayer.py # coding:utf-8 # author:ki ...

  9. 网页上的播放器相关参数说明

    网页上的播放器相关参数说明 (默认0为否,-1或1为是) <object classid="clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95&quo ...

最新文章

  1. 【Python算法】哈希存储、哈希表、散列表原理
  2. 先入为主与刚刚好(自省)
  3. 用css自定义滚动条样式
  4. Windwos中system、System32、SysWOW64区别
  5. Python之NumPy(axis=0 与axis=1)区分
  6. python getattrribute_python操作对象属性
  7. Can't create directory 'E:\Repositories\***\db\transactions\138-41.txn':
  8. 苹果ipadwps_ipad可以用wps吗?
  9. 电脑fps低怎么办_电脑想要英雄联盟玩的流畅,主要看哪几个方面?
  10. 《我和他的结婚录像和相册集》的快速传播
  11. 计算机信息安全与信息伦理课件,信息安全实验室
  12. 基于Huffman树的CBOW模型的理解
  13. 如何在Mac上使用Memoji贴纸、屏幕效果、应用程序和Messages
  14. HDU 6074 - Phone Call | 2017 Multi-University Training Contest 4
  15. thrift linux java,解决Linux下安装thrift出现的Building Java Library ........ : no问题(以及其他安装thrift出现的问题)...
  16. Win7自动登录,免密码
  17. Odoo客户成功案例访谈:机加工厂企业信息化的心路历程探讨
  18. win10命令行模式无法切换输入法
  19. C++ int类型转 LPCTSTR类型
  20. 文字点选验证码再也不是难题,通过率 96% 的深度学习了解一下!

热门文章

  1. 什么是商业智能?商业智能工具都有哪些? 1
  2. 平面设计新手如何快速修好人像图
  3. 将组成字符串的所有 非英文字母的字符删除
  4. 申报互联网地图服务专业资质甲级跟乙级,需配合提供材料如下。
  5. 数据结构笔记(1)——二叉树的基本概念+存储结构及转化
  6. Markdown语法简介,markdown导出PDF
  7. CRMEB多商户1.4自购佣金显示错误问题修复方法
  8. Machine Learning - Coursera 吴恩达机器学习教程 Week5 学习笔记
  9. 创新创造蓝海 远程接入行业又添新品
  10. android hid触摸屏,Android USB触摸屏HID描述符问题