您的位置:首页 > 编程语言 > Qt开发

Qt使用三句代码播放网络歌曲

2017-02-07 14:37 393 查看
如果给定了歌曲下载链接,只需要下面几句代码就可以播放网络歌曲了

QMediaPlayer *mediaPlayer = new QMediaPlayer(this);

QString songLink = "http:\/\/yinyueshiting.baidu.com\/data2\/music\/123800184\/161583746800128.mp3?xcode=bd374ebf3867010c43e6e1d8249fc792";

mediaPlayer->setMedia(QUrl(songLink));

mediaPlayer->play();

下载歌曲也是根据这个songLink 。

至于如何获取这个songLink可参照下面的方法

获取http://music.baidu.com/的歌曲
1、获取频道列表(一个频道的两个关键元素为频道id和频道名称)
const QString channelUrl = "http://fm.baidu.com/dev/api/?tn=channellist"; http://fm.baidu.com/dev/api/?tn=channellist struct CHANNEL_INFO
{
    QString channelId;
    QString channelName;
};
2、根据频道id,获取某个频道下的歌曲列表(比如推荐频道public_tuijian_spring)
const QString playListUrl = "http://fm.baidu.com/dev/api/?tn=playlist&format=json&id="; http://fm.baidu.com/dev/api/?tn=playlist&format=json&id=public_tuijian_spring QList <QString> m_songIdList;//保存songID
3、根据songID(比如1615837),获取当前歌曲信息
const QString downLoadLinkUrl = "http://music.baidu.com/data/music/fmlink?type=mp3&rate=320&songIds="; http://music.baidu.com/data/music/fmlink?type=mp3&rate=320&songIds=1615837 struct SONG_INFO
{
    QString songRealLink;//歌曲下载链接
    QString songName;    //歌名
    QString artistName;  //作者名
    QString songPicSmall;//歌手图片
    QString songPicRadio;//也是图片
    QString time;
    QString albumName;//专辑名
    QString lyricLink;//歌词下载地址
    QString size;
};
4、获取歌词
根据lyricLink就可以获取歌词了
http:\/\/musicdata.baidu.com\/data2\/lrc\/240377291\/240377291.lrc
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐