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(), }); }
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); } }