public void DoDownloadVideo(string url) { DownloadItem downloadItem = new DownloadItem("Last Download", 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.Status = "Downloading"; downloadItem.Title = video.Title; downloadItem.Type = FormatType.Mp4; ExtendedVideoDownloader videoDownloader = new ExtendedVideoDownloader(video, Path.Combine(SavePath, video.Title + video.VideoExtension), downloadItem); videoDownloader.DownloadProgressChanged += new EventHandler <ProgressEventArgs>(OnProgressChangedVideo); videoDownloader.DownloadFinished += new EventHandler(OnDownloadFinishVideo); try{ videoDownloader.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 OnDownloadFinishVideoAudioHQ(object sender, EventArgs args) { ExtendedVideoDownloader videoDownloader = (ExtendedVideoDownloader)sender; videoDownloader.CurretDownloadItem.Status = "Converting"; videoDownloader.CurretDownloadItem.Progress = 0; }
private void DoDownloadAudioHQ(string url) { DownloadItem downloadItem = new DownloadItem("Last Download", 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.Status = "Downloading"; downloadItem.Title = video.Title; downloadItem.Type = FormatType.Mp4; string fromPath = Path.Combine(SavePath, video.Title + video.VideoExtension); string toPath = fromPath.Substring(0, fromPath.Length - 4) + ".mp3"; ExtendedVideoDownloader videoDownloader = new ExtendedVideoDownloader(video, fromPath, downloadItem); videoDownloader.DownloadProgressChanged += new EventHandler <ProgressEventArgs>(OnProgressChangedVideo); videoDownloader.DownloadFinished += new EventHandler(OnDownloadFinishVideoAudioHQ); try { videoDownloader.Execute(); //convert the video M4A2MP3.ConvertToMp3(fromPath, toPath); File.SetAttributes(fromPath, FileAttributes.Normal); File.Delete(fromPath); videoDownloader.CurretDownloadItem.Status = "Completed"; } 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 OnDownloadFinishVideo(object sender, EventArgs args) { ExtendedVideoDownloader videoDownloader = (ExtendedVideoDownloader)sender; videoDownloader.CurretDownloadItem.Status = "Completed"; }
private void OnProgressChangedVideo(object sender, ProgressEventArgs args) { ExtendedVideoDownloader videoDownloader = (ExtendedVideoDownloader)sender; videoDownloader.CurretDownloadItem.Progress = (float)args.ProgressPercentage; }