Exemple #1
0
        private void DownloadMp3(LinkInfo link, string downloadDir)
        {
            Directory.CreateDirectory(downloadDir);
            IEnumerable<VideoInfo> videoInfos = DownloadUrlResolver.GetDownloadUrls(link.Link);

            // Extracting stream with highest quality
            VideoInfo video = videoInfos.Where(info => info.CanExtractAudio).OrderByDescending(info => info.AudioBitrate).First();

            if (video.RequiresDecryption)
            {
                DownloadUrlResolver.DecryptDownloadUrl(video);
            }

            var audioDownloader = new AudioDownloader(video, Path.Combine(downloadDir, RemoveIllegalPathCharacters(video.Title) + video.AudioExtension));
            audioDownloader.DownloadProgressChanged += (sender, argss) =>
            {
                downloader.ReportProgress((int)argss.ProgressPercentage);

            };
            audioDownloader.DownloadFinished += (sender, argss) =>
            {
                

            };

            audioDownloader.Execute();
        }
Exemple #2
0
        private void DownloadMp4(LinkInfo link, string downloadDir)
        {
            Directory.CreateDirectory(downloadDir);

            IEnumerable<VideoInfo> videoInfos = DownloadUrlResolver.GetDownloadUrls(link.Link);

	        VideoInfo video;
	        switch (link.QualityInfo)
	        {
		        case Quality.Low:
					video = videoInfos.Where(info => info.Resolution < 480).OrderByDescending(info => info.Resolution).First();
					break;
		        case Quality.Medium:
					video = videoInfos.Where(info => info.Resolution < 720).OrderByDescending(info => info.Resolution).First();
					break;
		        case Quality.High:
			        video = videoInfos.Where(info => info.Resolution < 1080).OrderByDescending(info => info.Resolution).First();
                    break;
		        case Quality.SuperHigh:
					video = videoInfos.OrderByDescending(info => info.Resolution).First();
					break;
		        default:
			        throw new ArgumentOutOfRangeException();
	        }
	        if (video.RequiresDecryption)
            {
                DownloadUrlResolver.DecryptDownloadUrl(video);
            }

            var videoDownloader = new VideoDownloader(video, Path.Combine(downloadDir, RemoveIllegalPathCharacters(video.Title) + "-" + video.Resolution + video.VideoExtension));
            videoDownloader.DownloadStarted += (sender, argss) => Console.WriteLine("Started downloading " + video.Title + "-" + video.Resolution + video.VideoExtension);

            videoDownloader.DownloadProgressChanged += (sender, argss) =>
            {
                downloader.ReportProgress((int)argss.ProgressPercentage);

            };

            videoDownloader.Execute();
        }
Exemple #3
0
		/*
        * Downloads the link to the dir
        */
		private void Download(LinkInfo info, string dir)
        {
            switch (info.DownloadType)
            {
                case Type.Mp3:
                    DownloadMp3(info, dir);
                    break;
                case Type.Mp4:
                    DownloadMp4(info, dir);
                    break;
                case Type.None:
                    break;
                default:
                    break;
            }
        }