如果給定了歌曲下載鏈接,只需要下面幾句代碼就可以播放網絡歌曲了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
新聞熱點
疑難解答