private void InitializeMaps()
 {
     _subtitlesMap = new MediaObservableMap <SubtitlesEventType>((map, args) => args.EventType)
     {
         { SubtitlesEventType.Display, DisplaySubtitles },
         { SubtitlesEventType.Hide, HideSubtitles }
     };
 }
Exemplo n.º 2
0
        private void InitializeMaps()
        {
            _subtitlesProviderMap = new MediaObservableMap <SubscriptionEventType>((map, args) => args.EventType)
            {
                { SubscriptionEventType.MediaAttached,
                  (sender, args) => AttachMediaElement((IMediaElementViewModel)args.AdditionalInfo) },
                { SubscriptionEventType.MediaDetached, (sender, args) => DetachMediaElement() },
            };

            _mediaElementProviderMap = new MediaObservableMap <MediaElementEventType>((map, args) => args.EventType)
            {
                { MediaElementEventType.Started, (sender, args) => TryBegin((MediaFileInformation)args.AdditionalInfo) },
                { MediaElementEventType.Ended, (sender, args) => Stop() }
            };

            _mediaControlsProviderMap = new MediaObservableMap <MediaControlEventType>(
                (map, args) => args.EventType,
                (map, type) => _subtitles != null)
            {
                { MediaControlEventType.FastForwardClick, SkipAsync },
                { MediaControlEventType.RewindClick, SkipAsync },
                { MediaControlEventType.PauseClick, (sender, args) => Pause() },
                { MediaControlEventType.PlayClick, (sender, args) => Resume() },
                { MediaControlEventType.StopClick, (sender, args) => Stop() },
                { MediaControlEventType.PositionSliderDragStarted, (sender, args) =>
                  {
                      ForceHidingAllSubtitles();
                      Pause();
                  } },
                { MediaControlEventType.PositionSliderDragCompleted, SkipAsync }
            };

            _fileManagerMap = new ObservableMap <bool, FileManagerEventArgs <FileInformation> >(
                (map, args) => args.SelectedFiles.FirstOrDefault() != null)
            {
                {
                    true, (sender, args) => Begin(args.SelectedFiles.First(),
                                                  _providerMediaElement?.MediaElement.Position ?? default(TimeSpan))
                }
            };
        }