YoutubeExtractor の dll を使用しています。videoDownloader_ProgressChanged および videoDownloader_DownloadFinished イベントはコンソール アプリケーションでは機能していますが、winform では機能しません。
private void btnStart_Click(object sender, EventArgs e)
{
string link = textBox1.Text;
start(link);
}
static void start(string link)
{
IEnumerable<VideoInfo> videoInfos = DownloadUrlResolver.GetDownloadUrls(link);
DownloadVideo(videoInfos);
}
private static void DownloadVideo(IEnumerable<VideoInfo> videoInfos)
{
VideoInfo video = videoInfos
.First(info => info.VideoFormat == VideoFormat.Standard360);
var videoDownloader = new VideoDownloader(video, Path.Combine("C:/Downloads", video.Title + video.VideoExtension));
videoDownloader.DownloadFinished += new EventHandler(videoDownloader_DownloadFinished);
videoDownloader.ProgressChanged += new EventHandler<ProgressEventArgs>(videoDownloader_ProgressChanged);
videoDownloader.Execute();
}
static void videoDownloader_ProgressChanged(object sender, ProgressEventArgs e)
{
//some code..
}
static void videoDownloader_DownloadFinished(object sender, EventArgs e)
{
//some code..
}
私の 2 番目の質問は、静的な videoDownloader_ProgressChanged イベントでフォーム コントロールにアクセスしたいということです。e.ProgressPercentage パラメーターは、ダウンロードされたビデオの割合を示します。ラベルに表示したい。しかし、静的イベントのためにラベルにアクセスできません..デリゲートを使用しようとしましたが、何も変わりません..