private IYoutubeSource getNewIYoutubeSource(EnumYoutubeSourceType type) { switch (type) { case EnumYoutubeSourceType.ChannelPage: return(new YoutubeSourceChannelPage()); case EnumYoutubeSourceType.Direct: return(new YoutubeSourceDirect()); case EnumYoutubeSourceType.Facebook: return(new YoutubeSourceFacebook()); case EnumYoutubeSourceType.Google: return(new YoutubeSourceGoogle()); case EnumYoutubeSourceType.YTSearch: return(new YoutubeSourceYTSearch()); case EnumYoutubeSourceType.GermanRap: return(new YoutubeSourceGermanRap()); case EnumYoutubeSourceType.MostPopular: return(new YoutubeSourceMostPopular()); default: return(new YoutubeSourceYTSearch()); } }
private void startSourceProcesInNewThread(EnumYoutubeSourceType source) { Thread thread = new Thread(() => WatchVideo(source)); thread.Name = source.ToString(); thread.Start(); }
public void WatchVideo(EnumYoutubeSourceType source) { while (true) { int sleepTime = getSleepTime(); IYoutubeSource isource = getNewIYoutubeSource(source); Console.WriteLine(Thread.CurrentThread.Name + " _sleep_: " + sleepTime / 1000 + "s"); isource.StartFirefox(); isource.WatchVideo(); Thread.Sleep(sleepTime); isource.KillFirefox(); } }