使用网易云的接口实现页面搜索歌曲,歌词获取,网易云外链播放歌曲。

前端页面

页面展示

Js代码

获取歌曲列表

一打开页面,先去数据读取数据,拿到数据库存储的数据返回回来,在写到页面里,并存储到songList数组里,便于后期拿出数据,并且设置当前播放的索引,我们是根据索引来取数据的

获取歌词

写入歌曲列表,得到索引,就拿索引去取当前播放的歌曲,顺便获取当前播放歌曲的ID,传个加载歌词的函数,调用后端查询网易云的歌词接口,然后返回歌词数据

根据歌曲的ID获取歌词

搜索功能

根据用户输入的值调用接口查询数据,返回来后也存到一个查询歌曲列表里,searchList,便于调取

添加歌曲

绑定点击事件,当用户点击该歌曲时,先判断该歌曲是否为VIP收费歌曲,如果是收费的则不会播放,否者在判断该歌曲是否存在于我们songList中,如果存在于songList则直接播放该歌曲,不然就调用添加函数,往数据库存入这首个的歌曲。

删除歌曲

获取歌曲列表时,同时绑定点击列表歌曲的事件,如果是鼠标左键点击则为播放歌曲,右键点击则为删除该歌曲

JAVA后端

持久层

对数据库进行增删查改

业务层

调用持久层函数,当时我在后端也去验证了下是否添加的数据该数据库内已存在

表现层

各种调用函数,获取歌词,获取歌曲,删除,添加,搜索功能

工具类

一个是数据库的

还有个就是解析网易云接口的(当时想去爬取网易云的歌曲,但是拿不出数据,后来看到别人的帖子说,加密了两个参数。当时就感觉没望了,突然我就发现一篇帖子,忘记保存那篇帖子了,时间是去年的好像,他是直接把网易云的core.js扣下来了,然后每次去访问网易云时,先自己把数据加密,然后在发送,就可以正确的得到数据了,大概就是这样吧,也不是很理解大佬的思维,就感觉很牛逼!)

展示

sql语句

CREATE DATABASE cloudmusic;

USE cloudmusic;

CREATE TABLE tab_song(

songId INT,

songName VARCHAR(50),

songAutor VARCHAR(20),

songImg VARCHAR(255),

fee INT

)DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

INSERT INTO tab_song VALUES(1438781318,'全世界最好的你','许嵩','http://p1.music.126.net/ge44m1UX_M4ZKqn57QUHvw==/109951164885142881.jpg',0);

INSERT INTO tab_song VALUES(1363948882,'世间美好与你环环相扣','柏松','http://p2.music.126.net/DK1_4sP_339o5rowMdPXdw==/109951164071024476.jp',0);

INSERT INTO tab_song VALUES(1314382744,'尝试温柔','龚子婕JessieG','http://p1.music.126.net/1YnM0_qxp6IVxfIF6S157Q==/109951163579687054.jpg',0);

INSERT INTO tab_song VALUES(1344010163,'地铁等待','张紫豪','http://p1.music.126.net/ZA9WoRqY7MJzepLYZVcWqQ==/109951163837791935.jpg',0);

INSERT INTO tab_song VALUES(1370047789,'我走后','小咪','http://p1.music.126.net/LoTWeVUksWrH-BYRLnL8Lg==/109951164127532959.jp',0);

当前数据库内存在这几条数据

搜索功能

歌曲读取和歌词读取,不用说了吧,页面展示了

我们在右边输入我们需要查找的歌曲名

比如我们搜索'过活',网易云搜索结果

我们搜索结果

歌曲添加功能

当我们点击搜索出来的歌曲他就会添加到播放列表,并且播放它

当然有些是VIP歌曲,是无法播放的

就比如这首

删除功能

我们只要在播放列表选中需要删除的歌曲,右键,然后会弹出确认框,问你是否删除该歌曲。

当前们数据库有这几首歌,我们把第一首删除掉,对了,删除后,默认是从第一首开始播放,按我们不删除第一首了,我们删除尝试温柔吧。

点确定就删除了

当前数据内也没有该歌曲

基本上功能就这些吧

存在的bug

有时打开可能还没加载出歌曲,所以他不会播放,需要重新刷新页面,或者点击歌曲列表。 那就这样吧!

最后

该项目仅限学习和研究,请勿滥用。

分享给需要的同学,同时本人技术也不是很强,代码杂乱,且很多地方原理没理解清楚造成好多地方重复调用以至于乱调用,若觉得难以入眼,不要喷我,你可以选择出门右转,谢谢!

java web音乐播放器_[JavaWeb]网页音乐播放器相关推荐

  1. java web调用exe文件_从网页WEB上调用本地应用程序(java)

    自己写了个java的桌面程序,想通过web页面调用直接打开登录页面,传账号和密码两个参数. 在网上看了很多资料,大多处理方法是自定义个协议然后通过协议来打开本地exe文件,但是这样传的参数怎么解析? ...

  2. 【html+css练习】小白使用html+css模拟音乐播放器构造了网页音乐播放器--1

    文章目录 纯html+css构造网页音乐播放器 html代码: CSS代码: 纯html+css构造网页音乐播放器 此处参照各大音乐播放器 这个页面使用了1天的时间进行构造,由于对各语法还不是很熟悉, ...

  3. java web没有APP流行_简单粗暴,详细得不要不要的 JavaWeb快速入门

    Paste_Image.png 前端时间我在写一个系列,是关于JavaWeb的一个入门级项目实战,我的初衷就是打算写给初学者的,希望能对他们有所帮助. 这段时间博主也接触了一些事情,感觉有必要专门把J ...

  4. java web聊天室论文_基于javaweb聊天室.doc

    基于javaweb聊天室.doc 南嗦岌凌*4 文(设计) 本科生毕业论 题 目:基于Java网页版聊天室的设计与实现 姓名:陈义旺 学院:理学院 专业:信息与计算科学 班级:信科092 学号: 指导 ...

  5. java web国外 研究现状_国外javaWeb开发技术.doc

    国外javaWeb开发技术.doc 外java Web开发技术 MVC结构模式是XeroxPARC在20世纪80年代为编程语言Smalltalk-80 发明的一种软件设计模式. 缑艳阳认为MVC将应用 ...

  6. 开源音乐播放器_使用开源音乐播放器设计生活中的配乐

    开源音乐播放器 我们围绕着自己的个人配乐. 我们的音乐让我们想起了人生中最重要的时刻,并帮助我们塑造了自己的感受和看法. 让音乐播放器支持自由选择音乐的播放方式,同时又不影响播放质量非常重要,而且我一 ...

  7. java web 开发之道_《Java Web开发之道》PDF 下载

    图书目录: 第1篇  编程 经验与 感悟篇 第1章  编程 经验谈6则 经验01  乐不思蜀--寻找编程的乐趣 经验02  水滴石穿--编程学习 经验谈 经验03  举足轻重--代码规范 经验谈 经验 ...

  8. html全景直播播放器,HTML5:网页如何播放VR视频?

    VR视频和普通视频有什么区别? VR即虚拟现实,VR视频又名全景视频,是指使用全景摄像机拍摄的,观看时可以自由变换视角的视频. 戴上VR眼镜,随着头部转动看到的图像也随之变化,仿佛身处一个虚拟的世界中 ...

  9. [原创]java WEB学习笔记02:javaWeb开发的目录结构

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

  10. java web应用开发技术_第一章 Java Web应用开发技术

    Java Web应用开发是基于JavaEE(JavaEnterprise Edition)框架的,而JavaEE是建立在Java平台上的企业级应用解决方案.JavaEES框架提供的Web开发技术主要支 ...

最新文章

  1. 你陪我长大 我陪你变老
  2. Linux下的编译(环境是centos6.8 gcc 4.4.7)
  3. linux-进程的替换exec函数族
  4. mysql加入新的从节点怎么配置_MySql主从复制配置
  5. Sql Server2005一則怪現象
  6. 神经网络入门-MLP, RNN, BiRNN
  7. MHA故障切换和在线手工切换原理
  8. 机器人学习--Imperial College London机器人学课程
  9. Java:处理 Exception 的几种实践,很优雅,值得推荐!
  10. android预加载app,Android欢迎页预加载首页数据
  11. 真的凉了!熊猫直播宣布停服:主站流浪计划第一阶段开启
  12. 关于如何用python下载文件
  13. Excel的格式类型
  14. js原生写图片轮播和切换
  15. vgg19.npy下载
  16. 支付宝老将樊路远加盟阿里影业 淘票票将成下一个支付宝?
  17. python股票接口_小小- python用雅虎财经(yahoo)接口写简易爬虫获取A股上证所有股票(可以单独选择个股)历史数据...
  18. 这几个宝藏网站助力学好Python
  19. linux那些事之contiguous memory allocator(CMA)
  20. ACM有什么用(转)

热门文章

  1. 手机输入法,谁能笑到最后?
  2. ttl低电平接大电阻_FPGA中的上拉下拉电阻以及开漏推挽输出电路
  3. 批量给pdf加水印,请用这个办法
  4. 体脂的计算Java_简单测试体脂率的两种经验公式
  5. 小米蓝牙耳机持续白灯_小米蓝牙耳机air2怎么重置
  6. Python格式控制之九九乘法表打印
  7. 桌面cpu与服务器cpu天梯,秒懂台式电脑CPU性能 桌面CPU天梯图2017年9月最新版
  8. android 免root 免流,安卓无需Root一键免流软件合集,具体哪个能用自测
  9. lamp一键安装包不安装mysql_LAMP一键安装包-CentOS 5/6下,添加pdo_mysql
  10. java 敏感词检测_关于java中敏感词检测的一些总结