Exemplo n.º 1
0
        /// <summary>
        /// 获取歌曲对象(适合歌手兆赫或者专辑兆赫)
        /// </summary>
        /// <param name="searchedSong">搜索到的歌曲</param>
        /// <returns>歌曲对象</returns>
        public static SongEntity GetSongEntity(SearchedSongEntity searchedSong)
        {
            MoreInfoEntity moreInfo = GetMoreInfo(searchedSong.SongID.ToString());

            if (moreInfo == null || moreInfo.Albums.Count == 0)
            {
                return(null);
            }
            SongEntity song      = new SongEntity();
            string     albumPath = searchedSong.Album.AlbumPath;

            song.AlbumID      = albumPath.Substring(32, albumPath.Length - 33);
            song.AlbumName    = searchedSong.Album.AlbumName;
            song.AlbumPath    = albumPath;
            song.AlbumPicture = moreInfo.Albums[0].AlbumPicture.Replace("spic", "lpic");
            song.Company      = moreInfo.Albums[0].Publisher;
            song.IsLiked      = "0";
            song.PublishTime  = moreInfo.Albums[0].PublishDate.Substring(0, 4);
            song.RatingScore  = double.Parse(moreInfo.AlbumRating);
            song.SingerName   = searchedSong.SingerName;
            song.SongID       = searchedSong.SongID.ToString();
            song.Kbps         = "64";
            song.SongName     = searchedSong.SongName;
            song.SongUrl      = searchedSong.SongUrl;
            song.Ssid         = string.Empty;
            song.SubType      = string.Empty;
            song.Lyrics       = LyricTrans(moreInfo.Lyric);
            return(song);
        }
Exemplo n.º 2
0
        /// <summary>
        /// 获取歌曲歌词(适合NormalFM来获取歌词)
        /// </summary>
        /// <param name="song">歌曲对象</param>
        public void GetLyric(ref SongEntity song)
        {
            MoreInfoEntity moreInfo = GetMoreInfo(song.SongID);

            if (moreInfo == null)
            {
                return;
            }
            string lyricString = moreInfo.Lyric;

            if (string.IsNullOrEmpty(lyricString))
            {
                return;
            }
            song.Lyrics = LyricTrans(lyricString);
        }
Exemplo n.º 3
0
 /// <summary>
 /// 获取歌曲歌手的更多信息
 /// </summary>
 /// <param name="songID">歌曲的ID号</param>
 /// <returns>MoreInfo对象</returns>
 private static MoreInfoEntity GetMoreInfo(string songID)
 {
     try
     {
         string         getData  = WebConnection.GetCommand(string.Format(@"http://music.douban.com/api/song/info?song_id={0}", songID));
         MoreInfoEntity moreInfo = MoreInfoEntity.Json2Object(getData);
         if (moreInfo == null)
         {
             return(null);
         }
         return(moreInfo);
     }
     catch
     {
         return(null);
     }
 }