Пример #1
0
        public async Task <List <PlayableBase> > GetTracks(ProgressDialogController controller)
        {
            var currentPlaylist = this;
            var resultList      = new List <PlayableBase>();

            for (int i = 0; i < (int)Math.Ceiling((double)TotalTracks / 50); i++)
            {
                var tracks = YouTubeApi.GetPlaylistTracks(await YouTubeApi.GetPlaylist(PlaylistId, currentPlaylist.nextPageToken, 50));
                for (int j = 0; j < tracks.Count; j++)
                {
                    var track = tracks[j];
                    if (LoadingTracksProcessChanged != null)
                    {
                        LoadingTracksProcessChanged(this, new LoadingTracksEventArgs(i * 50 + j, TotalTracks, track.Title));
                    }
                    resultList.Add(track.ToPlayable());
                    if (controller.IsCanceled)
                    {
                        return(null);
                    }
                }
            }

            return(resultList);
        }
Пример #2
0
        static void Run(CommandLineOptions options)
        {
            var youTubeApi = new YouTubeApi(options.YouTubeKey);
            var playlist   = youTubeApi.GetPlaylist(options.YouTubePlaylistID);

            foreach (var p in playlist)
            {
                Console.WriteLine(p.Title);
            }
        }