private void InitializeMaps() { _subtitlesMap = new MediaObservableMap <SubtitlesEventType>((map, args) => args.EventType) { { SubtitlesEventType.Display, DisplaySubtitles }, { SubtitlesEventType.Hide, HideSubtitles } }; }
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)) } }; }