Ejemplo n.º 1
0
        /// <summary>
        /// 获取音乐文件下载信息
        /// </summary>
        /// <param name="info"></param>
        /// <returns></returns>
        public override MusicDownloadInfo GetDownloadInfo(MusicSourceInfo info)
        {
            string url = "http://ws.stream.qqmusic.qq.com/C100<songmid>.m4a?fromtag=0";

            url = url.Replace("<songmid>", info.QQ_Songmid);
            MusicDownloadInfo downloadInfo = new MusicDownloadInfo();

            try
            {
                string  result = HttpOpera.Get(url);
                JObject json   = JObject.Parse(result);
                if (json["err_code"].ToString() == "0")
                {
                    downloadInfo.audio_name = (string)json["data"]["audio_name"];
                    downloadInfo.play_url   = (string)json["data"]["play_url"];
                    downloadInfo.extname    = "mp3";
                }

                return(downloadInfo);
            }
            catch (Exception ex)
            {
                this.OnErrorPress(ex.Message);
                return(null);
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 获取音乐文件下载信息
        /// </summary>
        /// <param name="info"></param>
        /// <returns></returns>
        public override MusicDownloadInfo GetDownloadInfo(MusicSourceInfo info)
        {
            string url = "http://www.kugou.com/yy/index.php?r=play/getdata&hash=<hash>";

            url = url.Replace("<hash>", info.FileHash);
            MusicDownloadInfo downloadInfo = new MusicDownloadInfo();

            try
            {
                string  result = HttpOpera.Get(url);
                JObject json   = JObject.Parse(result);
                if (json["err_code"].ToString() == "0")
                {
                    downloadInfo.audio_name = (string)json["data"]["audio_name"];
                    downloadInfo.play_url   = (string)json["data"]["play_url"];
                    downloadInfo.extname    = "mp3";
                }

                return(downloadInfo);
            }
            catch (Exception ex)
            {
                this.OnErrorPress(ex.Message);
                return(null);
            }
        }
Ejemplo n.º 3
0
        public string Download(MusicSourceInfo info, string path)
        {
            string            saveFileName = string.Empty;
            MusicDownloadInfo loadinfo     = this.GetDownloadInfo(info);

            saveFileName = path + string.Format("{0}.{1}", loadinfo.audio_name, loadinfo.extname);

            DirectoryInfo directory = new DirectoryInfo(path);

            if (!directory.Exists)
            {
                directory.Create();
            }

            if (File.Exists(saveFileName))
            {
                return(saveFileName);
            }

            bool result = this.FileDownload.DownLoad(loadinfo.play_url, saveFileName);

            return((result)? saveFileName : "");
        }
Ejemplo n.º 4
0
        /// <summary>
        /// 获取音乐文件下载信息
        /// </summary>
        /// <param name="info"></param>
        /// <returns></returns>
        public override MusicDownloadInfo GetDownloadInfo(MusicSourceInfo info)
        {
            string            url          = string.Format("http://antiserver.kuwo.cn/anti.s?type=convert_url&rid={0}&format=aac|mp3&response=url", info.Musicrid);
            MusicDownloadInfo downloadInfo = new MusicDownloadInfo();

            try
            {
                string result = HttpOpera.Get(url);
                //JObject json = JObject.Parse(result);
                //if (json["err_code"].ToString() == "0")
                //{
                downloadInfo.audio_name = info.SongName;
                downloadInfo.play_url   = result;
                downloadInfo.extname    = result.Substring(result.Length - 3);
                //}

                return(downloadInfo);
            }
            catch (Exception ex)
            {
                this.OnErrorPress(ex.Message);
                return(null);
            }
        }