// -------------------------------------------------------------------- // 素材動画からパーツを作成 // -------------------------------------------------------------------- private void GenerateParts(List <Media> oVideoMedias, Double oHead, Double oTail, Double oInterval, out List <VideoPart> oVideoParts) { oVideoParts = new List <VideoPart>(); foreach (Media aMedia in oVideoMedias) { VideoStream aVideoStream = aMedia.GetVideoStreamByIndex(0); Double aMediaLen = aMedia.Length.ToMilliseconds(); Double aPos = oHead; while (aPos <= aMediaLen - oTail - oInterval) { VideoPart aVideoPart = new VideoPart(); aVideoPart.VideoStream = aVideoStream; aVideoPart.Offset = new Timecode(aPos); oVideoParts.Add(aVideoPart); aPos += oInterval; } } if (oVideoParts.Count == 0) { throw new Exception("素材動画からパーツを作成できませんでした。\n間隔や除外時間が長すぎないか確認して下さい。"); } }
private void add_video_Click(object sender, EventArgs e) { if (addvideo.ShowDialog() == DialogResult.OK) { foreach (var item in addvideo.FileNames) { VideoPart entry = new VideoPart(item); tempPresentation.Entries.Add(entry); addEvent(entry); markModified(); } } }
public void addEvent(VideoPart entry) { Panel box = new Panel(); box.BorderStyle = BorderStyle.FixedSingle; box.Height = 100; box.Width = videoentries.Width - 28; Label label = new Label(); label.AutoSize = true; label.Text = entry.Filename; box.Controls.Add(label); CheckBox check = new CheckBox(); check.AutoSize = true; check.Text = "Loop"; check.Top = 30; check.Checked = entry.Loop; check.CheckedChanged += delegate { entry.Loop = check.Checked; }; box.Controls.Add(check); CheckBox stop = new CheckBox(); stop.AutoSize = true; stop.Text = "Stop at the end"; stop.Top = 60; stop.Checked = entry.StopAtEnd; stop.CheckedChanged += delegate { entry.StopAtEnd = stop.Checked; }; box.Controls.Add(stop); Button remove = new Button(); remove.Width = 20; remove.AutoSize = true; remove.Text = "x"; remove.Left = box.Width - 40; remove.Click += delegate { videoentries.Controls.Remove(box); tempPresentation.Entries.Remove(entry); markModified(); }; box.Controls.Add(remove); videoentries.Controls.Add(box); }
public void UploadVideo(VideoPart part, Guid ApplicatId, Guid TransactionCode) { // ... some process ... }
private void Save(object arg) { IsBusy = true; try { var service = serviceLocator.GetInstance <ITrainingSetService>(); var trainingSet = new TrainingSet(); trainingSet.TrainingSetTemplateId = SelectedTemplate.Id; trainingSet.Title = Title; if (UseSingleVideo) { var part = new VideoPart(); part.VideoId = Video.Id; part.From = VideoFrom; part.To = VideoTo; trainingSet.VideoParts.Add(part); } if (UseMultipleVideos) { foreach (var set in SelectedTemplate.Sets) { if (set.UseSingleVideo) { var part = new VideoPart(); part.VideoId = set.Video.Id; part.From = set.VideoFrom; part.To = set.VideoTo; trainingSet.VideoParts.Add(part); } if (set.UseMultipleVideos) { foreach (var interval in set.Intervals) { var part = new VideoPart(); part.VideoId = interval.Video.Id; part.From = interval.VideoFrom; part.To = interval.VideoTo; trainingSet.VideoParts.Add(part); } } } } service.CreateTrainingSetError += (sender, e) => { IsBusy = false; throw e.Value; }; service.TrainingSetCreated += (sender, e) => { if (e.Value.Status == CreateTrainingSetStatus.Success) { ApplicationUser.CurrentUser.Videos.Add(e.Value.TrainingSet); foreach (var set in SelectedTemplate.Sets) { set.ClearDesignData(); } foreach (var interval in SelectedTemplate.Intervals) { interval.ClearDesignData(); } IsBusy = false; Hide(); eventAggregator.GetEvent <VideoCreatedEvent>().Publish(e.Value.TrainingSet); } else { dialogFacade.Alert(DesignerResources.ErrorCreatingWorkout); IsBusy = false; } }; service.CreateTrainingSet(trainingSet); } catch { IsBusy = false; throw; } }