用到的接口:

#音乐搜索请求地址http[s]://api.kieng.cn/musicsearch参数说明str->歌名|id=>音乐ID|URL=>音乐URL(三者选一,必填),page->页数,type->平台请求方式GET/POST特殊说明type支持参数:qq(QQ音乐),netease(网易),kugou(酷狗),kuwo(酷我),xiami(虾米),baidu(百度),1ting(一听),migu(咪咕),lizhi(荔枝),qingting(蜻蜓),ximalaya(喜马拉雅),kg(全民K歌),5singyc(51原创),5singfc(51翻唱),soundcloud调用次数1309次

-----------------------------------------------------------------------------------------------------------------------------------------------------------------

上面的接口可以获取音乐的id

php:

<?php$id = @$_GET['id'];if (empty($id)) {exit(jsonm(['code' => 0, 'msg' => '请填写音乐 ID']));
}// 正则判断 ID 是否正确
if (!preg_match('/^[0-9]*$/', $id)) {exit(jsonm(['code' => 0, 'msg' => '这不是有效的音乐 ID']));
}$api = 'http://music.163.com/song/media/outer/url?id=';$url = $api . $id . '.mp3';
// print_r($url);
$data = curlGet($url);
// print_r($data);
// exit;
// 正则取连接
preg_match_all('/Location:(.*?)\.mp3/', $data, $arr);// 判断一下是否成功
if (empty($arr[1][0])) {exit(jsonm(['code' => 1, 'msg' => '解析失败', 'play' => null, 'referer' => 'https://blog.kieng.cn']));
} else {$play = $arr[1][0];$play = str_replace('http://', 'https://', trim($play) . '.mp3');exit(jsonm(['code' => 0, 'msg' => '解析成功', 'play' => $play, 'referer' => 'https://blog.kieng.cn']));
}
//处理成 https 格式function curlGet($url, $referurl = '') {if (empty($referurl)) {$referurl = $url;}$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url);// 输出头curl_setopt($ch, CURLOPT_HEADER, true);curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);//模拟常用浏览器的 useragentcurl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (iPhone; CPU iPhone OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Mobile/9B176 MicroMessenger/4.3.2');// 不跟随跳转curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);//模拟来源网址curl_setopt($ch, CURLOPT_REFERER, $referurl);$output = curl_exec($ch);curl_close($ch);return $output;}
//json 美化
function jsonm($data) {header('content-type:application/json;charset=utf-8');return stripslashes(json_encode($data, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT));}

这个代码用来将音乐id解析成MP3,

html:

  <audio controls autoplay="autoplay" loop="loop"><source src="http://m10.music.126.net/20200616170245/36839c07efbf8bb828662a92ac0aead5/ymusic/0dd9/d28b/e089/fcbab41f4900212553c5b610c617da2a.mp3" type="audio/mpeg" />如果不播放,说明你的浏览器不支持!</audio>

这个是用来放mp3的,至于搜索和其他功能,可以自己扩展

参考网站:https://blog.kieng.cn/1603.html

如何做一个音乐搜索与播放的功能相关推荐

  1. 如何使用uni-app做一个音乐播放器

    如何使用uni-app做一个音乐播放器 uni-app提供给我们非常棒的API,可以做出很好看的自定义样式的音乐播放器 好的编译器可以让我们的项目事半功倍,HBuilderX可以很方便的创建uni-a ...

  2. 23|VS2017 基于MFC 做一个音乐播放器,带音量调节,切换歌曲

    最近接到个小任务,用MFC做一个音乐播放器,不过这也是一直想尝试的,于是今天早上9点到下午16:00,总算是完成了需要的功能 开门见山,先展示一下整体界面 下面按照功能模块介绍我做这个播放器的过程 预 ...

  3. 简单音乐播放器html+css+基础vue+含源码,有搜索和播放mv功能,代码可直接复制用。

    题目:html+css+基础vue实现的简单音乐播放器(含源码),有搜索和播放mv功能,代码可直接复制用. 问题描述: 如果vue刚入门,掌握一些基础语法后就可以写一个简单的音乐播放器来练练手~~如果 ...

  4. Python3爬虫——用selenium获取歌曲id,做一个音乐下载器

    我们之前已经学习了selenium的简单实用,现在就来实战下,我们通过selenium获取歌曲的id,然后通过网易云音乐的外链地址来下载音乐,做一个音乐下载器(此项目仅供教学使用),下面我们先来看一下 ...

  5. asp做一个excel导入到access的功能

    因为一个客户要用asp做一个excel导入到access的功能,最近查找了一下相关的文章,现总结了一下精华部分! 其实这个功能的原理很简单,因为excel本身就可以当做数据库的,所以只需要将excel ...

  6. JS和H5做一个音乐播放器,附带源码

    http://mp.weixin.qq.com/s/KpXT9X46AMlUVXQvpHuXGQ 效果图: 实现的功能 1.首页 2.底部播放控件 3.播放页面 4.播放列表 5.排行榜 6.音乐搜索 ...

  7. android做一个音乐播放器,制作一个简单的Android版的音乐播放器

    音乐播放器是一个非常常见的应用,这篇博客就是介绍如何制作一个简单的音乐播放器,这款音乐播放器具有以下的功能:播放歌曲.暂停播放歌曲..显示歌曲的总时长.显示歌曲的当前播放时长.调节滑块可以将歌曲调节到 ...

  8. 用React做一个音乐播放器

    介绍 任何正在学习 React 并想使用 React 构建项目的人.有各种博客和文章可以为开发人员指导此类项目.我确实浏览过这些文章,但其中总是缺少一种项目.缺少的项目是音乐播放器和视频播放器.这两个 ...

  9. 用js,css做一个音乐播放器

    做好如图所示: 下面开始上代码: html代码: <!DOCTYPE html> <html lang="en"> <head> <met ...

最新文章

  1. 【以前的空间】树链剖分
  2. 区块链BaaS云服务(20)百度可信跨链BCP
  3. jdbc获取mysql表数据类型_jdbc操作数据库并自动获取字段类型
  4. An easy problem(hdu2055)
  5. Tomcat9.0 设置局域网内其他电脑或手机端访问{9.0更新}
  6. 关于Spring Cloud Commons—普通抽象
  7. linux的 定时器传参数,JavaScript 定时器调用传递参数的方法
  8. Java 原生 Base64 编解码、Md5、SHA-1、SHA-256 加密摘要算法
  9. h5 兑换商品 页面模版_H5商城静态页面(模板)
  10. Nginx(五)------搭建静态资源服务器
  11. 白领失眠危害大 如何拯救上班族?
  12. Oracle、mysql产品性能优化总结
  13. Halcon 3D点云和深度图的相互转化
  14. 2019年,一个人最好的生活状态
  15. 封神台靶场-尤里的复仇-第二章
  16. 21世纪25大扣将排行榜(组图)
  17. 【从零开始JavaEE课设】《影院系统》成品展示——主页面
  18. 优质的游戏-cc协议2d素材库素材推荐,不容错过
  19. 在平台RK3288上编写键盘驱动
  20. SAP(Self-Attentive Speaker Embeddings for Text-Independent Speaker Verification)

热门文章

  1. tcga样本编号_TCGA样本命名详解
  2. php xmlreader nodetype,C# XmlNodeReader.NodeType属性代码示例
  3. 使用Xcode13进行Swift开发
  4. matlab 向量方程组,Matlab 线性代数(二)--向量组的线性相关性及方程组的特解
  5. vivado VIO IP的用法
  6. 用python绘制散点图适用于通过读取txt的数据进行绘制
  7. Linx常见基本指令
  8. 华为设备BGP配置命令
  9. 线性筛与欧拉函数、莫比乌斯函数
  10. 参数估计:点估计和区间估计