private void AddDownloadList_Click(object sender, EventArgs e) { string URL = HttpHelper.GetDownloadURL(CurrentSelectedSong, CurrentQuality, CurrentSource); var uri = new Uri(URL); string Fullpath = URL.Substring(0, URL.IndexOf(uri.Query)); string extension = Fullpath.Substring(Fullpath.LastIndexOf(".")); lock (downloadListView.Items) { downloadListView.Items.Add(new ListViewItem(new string[] { CurrentSelectedSong.Name + " - " + CurrentSelectedSong.SingerName, "等待下载", "0%" })); CurrentSelectedSong.DownloadStatus.IndexOfList = downloadListView.Items.Count - 1; } CurrentSelectedSong.DownloadStatus.PropertyChanged += DownloadStatus_PropertyChanged; MusicDownloader.Add(CurrentSelectedSong, uri, downloadPath.Text + downloadFileName.Text + "." + extension); }
public static void Main(string[] args) { Session.Id = DateTime.Now.ToString("dd_MM_yyyy_HH_mm_ss"); Console.WriteLine($"Started at: {DateTime.Now:HH:mm:ss}\n" + $"Session Id: {Session.Id}\n"); var stopWatch = new Stopwatch(); stopWatch.Start(); var parameters = GetParams(args); if (parameters == null) { WizardModeRunner.RunInWizardMode(); return; } switch ((Mode)parameters.Mode) { case Mode.OneByOne: var songName = (string)parameters.SongName; break; case Mode.SpotifyPlaylist: using (var musicDownloader = new MusicDownloader(parameters.OutputDirectory)) { musicDownloader.DownloadSpotifyPlaylist(parameters.PlaylistLink, parameters.RunInParallel); } break; default: throw new ArgumentOutOfRangeException(); } stopWatch.Stop(); Console.WriteLine($"Total time: {stopWatch.Elapsed}"); }
private void button9_Click(object sender, EventArgs e) { MusicDownloader.StartDownload(); }