2016-03-26 10 views
0

Oynatma listesindeki her videoyu indiren bir oynatma listesi indiricisi yapıyorum, ancak şu ana kadar sadece 360p'de indirebiliyorum. Video için en yüksek çözünürlüğü otomatik olarak bulmak ve indirmek istiyorum.C# bir videoda en yüksek kullanılabilir youtube çözünürlüğünü bul

    IEnumerable<VideoInfo> videoInfos = DownloadUrlResolver.GetDownloadUrls("www.youtube.com/watch?v=" + vid.ToString()); 

        VideoInfo video = videoInfos.First(info => info.VideoType == VideoType.Mp4 && info.Resolution == 360); 

        string filename = video.Title; 

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

        string invalidChars = new string(Path.GetInvalidFileNameChars()) + new string(Path.GetInvalidPathChars()); 
        foreach (char c in invalidChars) 
        { 
         filename = filename.Replace(c.ToString(), ""); 
        } 

        var videoDownloader = new VideoDownloader(video, Path.Combine(corpath, filename + video.VideoExtension)); 


        Console.Write("\rVideo #{0} is currently being downloaded...", i.ToString()); 

        videoDownloader.Execute(); 
        i++; 
       } 
       catch (Exception ex) 
       { 

       } 

Bu kütüphaneyi kullanıyorum: bunun nedeni bu satırı kaldırın videoInfos aracılığıyla https://github.com/flagbug/YoutubeExtractor/

cevap

0

Döngü ve mevcut en yüksek çözünürlüğe

ile bulmak Burada

benim kodudur yalnızca belirli bir çözünürlüğü getiriyor

yerde

int maxResolution = 0; 
foreach(var v in videoInfos) 
{ 
    if (v.Resolution > maxResolution) 
    { 
    maxResolution = v.Resolution; 
    } 
} 

aşağıdaki kodu ekleyin ve sonra tek bir nesne yerine bir liste için çalışmaya bundan sonra kodunu değiştirmeyi unutmayın

İlgili konular