コード例 #1
0
 public static ISongItem ToSongItem(Native_SongItem si)
 {
     return(new SongItem()
     {
         album = new Album()
         {
             name = si.album_name.RemoveUnicodeEnd()
         },
         file = new File()
         {
             strMediaMid = si.file_strMediaMid.RemoveUnicodeEnd()
         },
         name = si.name.RemoveUnicodeEnd(),
         title = si.name.RemoveUnicodeEnd(),
         singer = si.singer_name.RemoveUnicodeEnd().Split(',').Select(x => new Singer2 {
             name = x
         }).ToArray(),
     });
 }
コード例 #2
0
 public static bool DownloadMusic_Inside(IntPtr Native_SongItemPtr, EnumFileType type, IntPtr dirPtr, int dirlength)
 {
     try
     {
         Native_SongItem nsi = Marshal.PtrToStructure <Native_SongItem>(Native_SongItemPtr);
         string          dir = null;
         unsafe {
             dir = new string((char *)dirPtr.ToPointer(), 0, dirlength);
         }
         Console.WriteLine($"准备下载{nsi.name.RemoveUnicodeEnd()}到{dir}");
         //转换
         ISongItem si  = SearchResultExtend.ToSongItem(nsi);
         var       api = new QQMusicAPI();
         api.downloadSongAsync(si, dir, type).Wait();
         api.downloadLyricAsync(si, dir).Wait();
         return(true);
     }
     catch (Exception ex)
     {
         Console.WriteLine(ex);
         return(false);
     }
 }