如果给定了歌曲下载链接,只需要下面几句代码就可以播放网络歌曲了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=channelliststruct 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_springQList <QString> m_songIdList;//保存songID3、根据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=1615837struct 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
新闻热点
疑难解答