private void DoDownloadAudioSQ(string url) { DownloadItem downloadItem = new DownloadItem("Last Donwload", FormatType.None, "Pending", 0); downloadList.addToDownloadsList(downloadItem); IEnumerable <VideoInfo> videoInfos = DownloadUrlResolver.GetDownloadUrls(url); VideoInfo video = videoInfos .First(info => info.VideoType == VideoType.Mp4 && info.Resolution == 720 || info.Resolution == 480); if (video.RequiresDecryption) { DownloadUrlResolver.DecryptDownloadUrl(video); } downloadItem.Progress = 0; downloadItem.Title = video.Title; downloadItem.Type = FormatType.Mp3SQ; downloadItem.Status = "Downloading"; ExtendedAudioSQDownloader audioDownloader = new ExtendedAudioSQDownloader(video, Path.Combine(SavePath, video.Title + video.VideoExtension), downloadItem); audioDownloader.DownloadProgressChanged += new EventHandler <ProgressEventArgs>(OnProgressChangedAudioSQ); audioDownloader.DownloadFinished += new EventHandler(OnDownloadFinishAudioSQ); try { audioDownloader.Execute(); } catch (Exception exc) { MessageDialog md = new MessageDialog(null, DialogFlags.Modal, MessageType.Error, ButtonsType.Ok, "Download " + video.Title + " failed!\n" + exc.Message); md.Run(); md.Destroy(); } }
private void OnDownloadFinishAudioSQ(object sender, EventArgs args) { ExtendedAudioSQDownloader audioDownloader = (ExtendedAudioSQDownloader)sender; audioDownloader.CurrentDownloadItem.Status = "Completed"; }
private void OnProgressChangedAudioSQ(object sender, ProgressEventArgs args) { ExtendedAudioSQDownloader audioDownloader = (ExtendedAudioSQDownloader)sender; audioDownloader.CurrentDownloadItem.Progress = (float)args.ProgressPercentage; }