/// <summary> /// アップロードを行う /// </summary> /// <param name="youtubeService"></param> /// <param name="item"></param> /// <param name="index"></param> /// <returns></returns> private async Task UploadFile(YouTubeService youtubeService, YoutubeUploadItem item, int index) { var video = new Video { Snippet = new VideoSnippet { Title = item.GetFormatedTitle(this.uploadTitleFormat, index), Description = item.GetFormatedTitle(this.uploadTitleFormat, index), CategoryId = "20" //ゲームカテゴリ }, Status = new VideoStatus { PrivacyStatus = "unlisted" } }; using (var fileStream = new FileStream(item.FilePath, FileMode.Open)) { var videosInsertRequest = youtubeService.Videos.Insert(video, "snippet,status", fileStream, "video/*"); videosInsertRequest.ProgressChanged += VideosInsertRequest_ProgressChanged; videosInsertRequest.ResponseReceived += VideosInsertRequest_ResponseReceived; // 実際のアップロードを実行する await videosInsertRequest.UploadAsync(); } }
/// <summary> /// コンストラクタ /// </summary> /// <param name="srcFiles"></param> public YoutubeUploadWindow(IEnumerable <string> srcFiles) { InitializeComponent(); var data = new ObservableCollection <YoutubeUploadItem>(); foreach (var file in srcFiles) { var fileInfo = new System.IO.FileInfo(file); var item = new YoutubeUploadItem() { IsUpload = true, FilePath = file, FileUpdateTime = fileInfo.LastWriteTime, FileSize = fileInfo.Length, FileSizeMByte = Convert.ToInt32(fileInfo.Length / 1024 / 1024) }; data.Add(item); uploadItemList.Add(item); } // グリッドにバインド MovieList.ItemsSource = data; }