基于天天动听API开发在线音乐查询网站
预览图

源码下载
地址:https://github.com/bajdcc/dev/tree/master/ttpod
文件夹说明:
- App_Code,WCF服务
- Script,离线下载的celery任务配置
- dl,离线下载接口
- ttpod,网站主体
- Bin,组件类库
实现功能
- 基于天天动听实现输入提示、查询功能
- 列表显示每条曲目的信息,自带搜索和排序功能
- 实现网页播放,支持大部分部分的视频与音频,并提供下载地址
- 适配较新版本的IE、Firefox和Chrome浏览器
- 支持广播,即可以远程使多个浏览器同时播放视频与音频
- 支持离线,即可让服务器离线下载流媒体
技术细节
- 跨域代理,采用WCF(由于浏览器的安全机制,跨越访问是禁止的)
- 数据可视,采用jQuery DataTable,提供排序与搜索功能
- 在线下载,采用jQuery Dialog
- 离线下载,采用php+redis+celery+python,celery flower可用来监视下载情况
- 在线播放,采用CKPlayer(for video)+PeckPlayer(for audio)
- 在线广播,采用SignalR
- 浏览器兼容,采用jQuery+modernizr
技术问题
- WebSocket的支持问题,可能与IIS有关
- 播放视频时开关灯功能尚未实现
网站配置
配置要求:.NET 4.0,IIS,WCF服务,Python 2.7(离线需要),php支持(离线需要)
- 在IIS中激活WCF服务
- 新建网站,将除了Script以外的文件夹放到网站根目录下
- 如要配置离线功能,请先配置PHP组件(在IIS的Web平台安装程序中找到php组件,点击安装即可);下载Redis(https://code.google.com/p/servicestack/downloads/list),或使用Redis For Python(pip install redis);下载celery(pip install celery),可选下载flower(pip install flower);最后运行Script/run-download.cmd
- 启动网站
基于天天动听API开发在线音乐查询网站的更多相关文章
- 天天动听API
本次分析的是天天动听API,天天动听有一点比较好,就是搜索返回直接有歌曲播放的地址了,并且有无损的音频 搜索歌曲API:http://so.ard.iyyin.com/s/song_with_out? ...
- 播放器音乐源之天天动听API
搜索歌曲API:http://so.ard.iyyin.com/s/song_with_out?q={0}&page={1}&size={2} {0}=需要搜索的歌曲或歌手 {1}=查 ...
- 基于ArcGIS JS API的在线专题地图实现
0 引言 专题地图是突出而深入的表示一种或几种要素或现象,即按照地图主题的要求,集中表示与主题有关内容的地图.专题地图的专题要素多种多样,分类方法也多种多样,根据专题地图表现数据的特点可分为定 ...
- 基于微博LBS API开发的周边美图android app
[app 不完善,就差api了] 几年之前看到过新浪微博开放API中有基于Place的API,授权后可以查看基于地理位置的一些数据,比如某个地点周边的微博动态.某个具体用户的位置动态等等.最近空余时间 ...
- python 开发在线音乐播放器-简易版
在线音乐播放器,使用python的Tkinter库做了一个界面,感觉这个库使用起来还是挺方便的,音乐的数据来自网易云音乐的一个接口,通过urllib.urlopen模块打开网址,使用Json模块进行数 ...
- 基于 ArcGIS Silverlight API开发的WebGIS应用程序的部署
部署流程概述 在微软的iis服务器上部署基于ArcGIS Silverlight API的应用程序,主要包括以下几个步骤: 1)(可选)部署GIS服务 如果需要将GIS服务也部署在Web服务器上,则 ...
- Flex4/Flash开发在线音乐播放器 , 含演示地址
要求 必备知识 本文要求基本了解 Adobe Flex编程知识和JAVA基础知识. 开发环境 MyEclipse10/Flash Builder4.6/Flash Player11及以上 演示地址 演 ...
- 基于百度翻译API开发属于自己的翻译工具
你是否每天使用着网页翻译工具?你是否遇到过这种情况,上网过程中遇到一个很长的单词但是又不能复制,要开两个浏览器,一个打开百度翻译,照着另一个网页输入单词?你安装了各种翻译软件后,又删除,只因忍受不了那 ...
- android 基于百度地图api开发定位以及获取详细地址
一:百度地图开发必须要到百度开发平台android开发api下载相应的库,已经申请百度地图开发key. 二:新建项目baidumaplocation.设计main.xml文件这里注意的是MapView ...
随机推荐
- C#异步:实现一个最简单的异步
异步就是方法异步执行, 这个好理解. 异步有啥用? 以前只是听说过, 也不想计较. 不过还是碰到了需要这个东西的时候. 比如: 定时执行, 如果不用异步方法,也不用定时器,只用Thread.Sleep ...
- centOS安装nginx
下载源码 wget http://nginx.org/download/nginx-1.10.1.tar.gz git clone https://bitbucket.org/nginx-goodie ...
- 【Apache】apache简单配置URL重写规则
[概述]URL重写就是首先获得一个进入的URL请求然后把它重新写成网站可以处理的另一个URL的过程.举个例子来说,如果通过浏览器进来的URL是index.php?type=news&& ...
- JS数组定义【收藏】
最近在学习JS,刚好学到数组,发现章节还蛮多了而且发现了数组的以前好多不知道的东西,顺便整理下: 数组一共有有四种定义的方式 使用构造函数: var a = new Array(); var b = ...
- 从表中删除重复记录的sql
--有一个表,假设是这样的 CREATE TABLE Test ( field1 ) primary key, field2 )); --假设field1上有索引. 要删除表中所有field1重复的记 ...
- 使用 supervisor 管理进程
安装: # yum install python-setuptools # easy_install supervisor 如果已经安装了epel和python-pip, 也可以简单 pip inst ...
- 解决secureCRT数据库里没有找到防火墙 '无'问题
中文版的secureCRT由于汉化的问题(把null翻译成无了),导致每次打开都会有个防火墙的错误提示:数据库里没有找到防火墙 '无' 此会话将尝试不通过防火墙进行连接.出现这个错误的原因是在secu ...
- C# XmlSerializer实现序列化浅析
C# XmlSerializer类是实现序列化的一个类,那么关于C# XmlSerializer的学习我们要掌握怎么样的操作方法呢?那么这里向你详细介绍具体的操作细节情况. C# XmlSeriali ...
- WF(二)
步骤一: 运用WF(一)中创建好的solution 重命名Workflow1.xaml,变为SayHello.xaml 并在属性窗口设置名称为HelloWorkflow.SayHello,如下图: ( ...
- websphere如何删除应用程序服务器(概要管理工具)
在IBM WebSphere 的概要管理工具中我们可以新建一个应用程序服务器,但是工具中并未提供删除已经建过的应用程序服务器.下面 交大家一个比较简单的方法来删除应用程序服务器 图片中可以看到,我已经 ...