Amyas 发表于 2017-1-27 21:53

WEB音乐播放器,裸奔版,QQ音乐接口

我在某培训机构学JS,趁过年回家利用点时间,写个播放器,当毕业作品之一,但是距离完整还有很遥远的距离,发个帖子分享下api,也希望高手指正。

用到的技术:
1、抓包(找接口,用了差不多一天一夜学会一点,至少能找QQ音乐的了)

歌曲列表:url: "https://c.y.qq.com/soso/fcgi-bin/search_cp?remoteplace=txt.yqq.center&searchid=37159670560306796&t=0&aggr=1&cr=1&catZhida=1&lossless=0&flag_qc=0&p=1&n=100&w="+歌手/歌曲+"&g_tk=5381&jsonpCallback=searchCallbacksong1291&loginUin=0&hostUin=0&format=jsonp&inCharset=utf8&outCharset=utf-8&notice=0&platform=yqq&needNewCode=0",

歌曲信息:url: "https://c.y.qq.com/v8/fcg-bin/fcg_play_single_song.fcg?songmid="+歌曲MID+"&tpl=yqq_song_detail&format=jsonp&callback=getOneSongInfoCallback&g_tk=5381&jsonpCallback=getOneSongInfoCallback&loginUin=0&hostUin=0&format=jsonp&inCharset=utf8&outCharset=utf-8&notice=0&platform=yqq&needNewCode=0",

歌词:url = "https://c.y.qq.com/lyric/fcgi-bin/fcg_query_lyric.fcg?nobase64=1&musicid=歌曲ID&callback=jsonp1&g_tk=5381&jsonpCallback=jsonp&loginUin=0&hostUin=0&format=jsonp1&inCharset=utf8&outCharset=utf-8&notice=0&platform=yqq&needNewCode=0";
(需要设置请求头Referer)

2、ajax(调数据,用了一天学会大概怎么用了)

3、php(伪造Referer,得到歌词的数据,PHP学到PHP连接MySQL了,这个伪造我弄了一天一夜才搞明白一点怎么用)

下一步学习正则表达式,要不然回调的数据有点不好处理。

目前的用法:

1、输入歌名/歌手名
2、点击音乐列表

3、选中songmid
4、放到输入框中,点歌曲

5、选中url放到输入框中
6、点播放

(在本地运行歌词不会显示,在服务器上就可以,目前我还不知道怎么不用php也可以设置请求头)

什么限制也没加,学知识点用的时间比较长一点,写加解决问题用了小半天

希望大家指正我的不足,就喜欢听缺点,多进步进步万一能去百度阿里上班什么的呢哈哈!!

基本上就是遇见坎,就各种搜,各种现学,虽然现在播放器还很low,但是我会一步一步让他强大起来的(初步计划音量拖拽,时间拖拽,歌词拖拽,mv播放,嗯目前就想到这些)!

链接: https://pan.baidu.com/s/1bpvKb87 密码: mmg2

lelandyang 发表于 2017-1-30 02:30

Amyas 发表于 2017-1-30 00:49
你是不是改了那个$referer

是的,我刚才看了一下,我开始以为这个Referer只要是QQ 音乐的域名就行了。我简单改了一下api.php。仅供参考
<?php

$lyricid = $_GET['lyric'];
//$referer='https://y.qq.com/portal/song/004gL2M50QkK3J.html';
$song_id=$_GET['sid'];
if ($song_id!=''){
        $referer='https://y.qq.com/portal/song/'.$song_id.'html';
}else{
        $referer='';       
}

$url = "https://c.y.qq.com/lyric/fcgi-bin/fcg_query_lyric.fcg?nobase64=1&musicid={$lyricid}&callback=jsonp1&g_tk=5381&jsonpCallback=jsonp&loginUin=0&hostUin=0&format=jsonp1&inCharset=utf8&outCharset=utf-8¬ice=0&platform=yqq&needNewCode=0";

//php.ini开启extension=php_openssl.dll才可以
$opt=array('http'=>array('header'=>"Referer: {$referer}"));
$context=stream_context_create($opt);
$file_contents = file_get_contents($url,false, $context);

echo $file_contents;
?>

Amyas 发表于 2017-1-27 23:54

laohu40 发表于 2017-1-27 22:24
独立声卡通道选择 希望具备,抓取资源要有无损音乐选择,如果可以也来个 蝰蛇音效什么的,可以增加辅助音 ...

在web页面上面也可以弄音效音质类的吗?没研究过,我去找点资料看看

liuhaijiji5807 发表于 2017-1-27 22:00

Amyas 发表于 2017-1-27 22:01

liuhaijiji5807 发表于 2017-1-27 22:00
楼主 新年好

新年好新年好{:1_912:}

zhangli1 发表于 2017-1-27 22:02

新年好   祝福楼主阖家幸福

Amyas 发表于 2017-1-27 22:04

zhangli1 发表于 2017-1-27 22:02
新年好   祝福楼主阖家幸福

我是不是要祝你生活性福美满{:1_905:}{:1_918:}

laohu40 发表于 2017-1-27 22:24

xiaozhou52 发表于 2017-1-27 23:09

谢谢楼主分享!

qwertyui 发表于 2017-1-27 23:34

不错不错。支持

wszgrhk 发表于 2017-1-28 00:09

谢谢,谢谢楼主分享!
页: [1] 2 3 4
查看完整版本: WEB音乐播放器,裸奔版,QQ音乐接口