コード例 #1
0
ファイル: Controller.cs プロジェクト: amanowar/storybook
        public void Init(
            IBrain brain,
            IVideoProvider videoProvider,
            IVideoRecorder videoRecorder,
            IAudioRecorder audioRecorder,
            IAudioPlayer audioPlayer,
            IAudioRepository audioRepository)
        {
            this.brain         = brain;
            this.videoProvider = videoProvider;
            this.videoRecorder = videoRecorder;
            this.audioRecorder = audioRecorder;

            var frameObserver           = new FrameObserver(brain);
            var frameRecognizedObserver = new FrameRecognizedObserver(audioPlayer, audioRepository);

            recognizeAvailableFrameSubscription = videoProvider.FrameAvailable.Subscribe(frameObserver);

            this.lifetimeStreams = new CompositeDisposable
            {
                brain.FrameRecognized.Subscribe(frameRecognizedObserver),
                videoRecorder.RecordingAvailable.Subscribe(new VideoPublisher(brain)),
                audioRecorder.RecordingAvailable.Subscribe(new AudioPublisher(audioRepository))
            };
        }
コード例 #2
0
 public VideoWorkflowPlugin(IVideoRecorder videoRecorder, IVideoRecorderOutputProvider videoRecorderOutputProvider, IVideoPluginProvider videoPluginProvider)
 {
     _videoRecorder = videoRecorder;
     _videoRecorderOutputProvider = videoRecorderOutputProvider;
     _videoPluginProvider         = videoPluginProvider;
     InitializeVideoProviderObservers();
 }
コード例 #3
0
 public void Dispose()
 {
     if (_videoRecorder != null)
     {
         _videoRecorder.Stop();
         _videoRecorder = null;
     }
 }
コード例 #4
0
ファイル: VideoPlugin.cs プロジェクト: tamirg7/BELLATRIX
 public VideoPlugin(IVideoRecorder videoRecorder, IVideoRecorderOutputProvider videoRecorderOutputProvider, IVideoPluginProvider videoPluginProvider)
 {
     _isEnabled     = ConfigurationService.GetSection <VideoRecordingSettings>().IsEnabled;
     _videoRecorder = videoRecorder;
     _videoRecorderOutputProvider = videoRecorderOutputProvider;
     _videoPluginProvider         = videoPluginProvider;
     InitializeVideoProviderObservers();
 }
コード例 #5
0
        /// <summary>
        /// Установить настройки записывающего устройства
        /// </summary>
        private void SetRecorderSettings()
        {
            //Позже можно будет настраивать
            var devicesCollection = new FilterInfoCollection(FilterCategory.VideoInputDevice);

            if (devicesCollection.Count == 0)
            {
                MessageBoxHelper.ShowMessage("Отсутствует записывающее видеоустройство. Возможны только аудиозвонки.");
                return;
            }

            _videoRecorder           = new VideoRecorder(devicesCollection[0].MonikerString);
            _videoRecorder.NewFrame += videoRecorder_NewFrame;
        }
コード例 #6
0
 protected override void PostTestCleanup(object sender, TestWorkflowPluginEventArgs e)
 {
     if (_recordingMode != VideoRecordingMode.DoNotRecord)
     {
         bool hasTestPassed = e.TestOutcome.Equals(TestOutcome.Passed);
         bool isFileDeleted = false;
         try
         {
             string videoRecordingPath = e.Container.Resolve <string>("_videoRecordingPath");
             isFileDeleted = DeleteVideoDependingOnTestOutcome(hasTestPassed, videoRecordingPath);
         }
         finally
         {
             _videoRecorder = e.Container.Resolve <IVideoRecorder>("_videoRecorder");
             _videoRecorder?.Dispose();
             if (!isFileDeleted)
             {
                 string videoRecordingPath = e.Container.Resolve <string>("_videoRecordingPath");
                 _videoPluginProvider.VideoGenerated(e, videoRecordingPath);
             }
         }
     }
 }
コード例 #7
0
 public VideoWorkflowPlugin(IVideoRecorder videoRecorder, IVideoRecorderOutputProvider videoRecorderOutputProvider)
 {
     _videoRecorder = videoRecorder;
     _videoRecorderOutputProvider = videoRecorderOutputProvider;
 }
コード例 #8
0
 public VideoBehaviorObserver(IVideoRecorder videoRecorder)
 {
     this.videoRecorder = videoRecorder;
 }