public VideoPlayerCaptionBlockRegion() { System.Action<MediaMarkerManager<TimedTextElement>, TimedTextElement> action = null; System.Action<MediaMarkerManager<TimedTextElement>, TimedTextElement, bool> action2 = null; RoutedEventHandler handler = null; SizeChangedEventHandler handler2 = null; this._activeElements = new Dictionary<CaptionElement, UIElement>(); this._captionManager = new MediaMarkerManager<TimedTextElement>(); this._captionManager.SeekingSearchWindow = new TimeSpan?(TimeSpan.FromMilliseconds(60000.0)); if (action == null) { action = (s, c) => this.HideCaption(c); } this._captionManager.MarkerLeft += action; if (action2 == null) { action2 = (s, c, f) => this.ShowCaption(c); } this._captionManager.MarkerReached += action2; if (handler == null) { handler = (s, e) => this.RedrawActiveCaptions(); } base.Loaded += handler; this.InitializeComponent(); if (handler2 == null) { handler2 = (s, e) => this.UpdateSize(); } base.SizeChanged += handler2; }
/// <inheritdoc /> protected override bool OnActivate() { var mediaContainer = MediaPlayer.Containers.OfType <Panel>().FirstOrDefault(c => c.Name == MediaPlayerTemplateParts.MediaContainer); captionsContainer = mediaContainer.Children.OfType <Panel>().FirstOrDefault(c => c.Name == MediaPlayerTemplateParts.CaptionsContainer); if (captionsContainer != null) { markerManager = new MediaMarkerManager(); markerManager.MarkerLeft += MarkerManager_MarkerLeft; markerManager.MarkerReached += MarkerManager_MarkerReached; captionsPanel = new WebVTTPanel(); if (CaptionsPanelStyle != null) { captionsPanel.Style = CaptionsPanelStyle; } MediaPlayer.IsCaptionsActive = (MediaPlayer.SelectedCaption as Caption != null); captionsContainer.Children.Add(captionsPanel); UpdateCaption(MediaPlayer.SelectedCaption as Caption); MediaPlayer.PositionChanged += MediaPlayer_PositionChanged; MediaPlayer.SelectedCaptionChanged += MediaPlayer_SelectedCaptionChanged; MediaPlayer.IsLiveChanged += MediaPlayer_IsLiveChanged; if (MediaPlayer.IsLive) { InitializeTimer(); } return(true); } return(false); }
public CaptionBlockRegion() { _activeElements = new Dictionary<CaptionElement, UIElement>(); _captionManager = new MediaMarkerManager<TimedTextElement>(); _captionManager.SeekingSearchWindow = TimeSpan.FromMilliseconds(DefaultMaximumCaptionSeekSearchWindowMillis); _captionManager.MarkerLeft += (s, c) => HideCaption(c); _captionManager.MarkerReached += (s, c, f) => ShowCaption(c); this.Loaded += (s, e) => RedrawActiveCaptions(); InitializeComponent(); this.SizeChanged += (s, e) => UpdateSize(); }
public CaptionBlockRegion() { _activeElements = new Dictionary <CaptionElement, UIElement>(); _captionManager = new MediaMarkerManager <TimedTextElement>(); _captionManager.SeekingSearchWindow = TimeSpan.FromMilliseconds(DefaultMaximumCaptionSeekSearchWindowMillis); _captionManager.MarkerLeft += (s, c) => HideCaption(c); _captionManager.MarkerReached += (s, c, f) => ShowCaption(c); this.Loaded += (s, e) => RedrawActiveCaptions(); InitializeComponent(); this.SizeChanged += (s, e) => UpdateSize(); }
/// <inheritdoc /> protected override void OnDeactivate() { MediaPlayer.PositionChanged -= MediaPlayer_PositionChanged; MediaPlayer.SelectedCaptionChanged -= MediaPlayer_SelectedCaptionChanged; MediaPlayer.IsLiveChanged -= MediaPlayer_IsLiveChanged; MediaPlayer.IsCaptionsActive = false; captionsContainer.Children.Remove(captionsPanel); captionsContainer = null; captionsPanel.Clear(); captionsPanel = null; markerManager.MarkerLeft -= MarkerManager_MarkerLeft; markerManager.MarkerReached -= MarkerManager_MarkerReached; markerManager.Clear(); markerManager = null; IsSourceLoaded = false; }
public SMFPlayer() { DefaultStyleKey = typeof(SMFPlayer); _logger = new Logger(); _videoDoubleClickMonitor = new DoubleClickMonitor(); _positionTimer = new DispatcherTimer(); Playlist = new ObservableCollection<PlaylistItem>(); HeuristicsPluginRequiredMetadata = new MetadataCollection(); GlobalConfigMetadata = new MetadataCollection(); _captionManager = new MediaMarkerManager<CaptionRegion> { SeekingSearchWindow = TimeSpan.FromMilliseconds(DefaultMaximumCaptionSeekSearchWindowMillis) }; _captionManager.MarkerLeft += CaptionManager_MarkerLeft; _captionManager.MarkerReached += CaptionManager_MarkerReached; _timelineMarkerManager = new TimelineMarkerManager(); _timelineMarkerManager.MarkerLeft += MarkerManager_MarkerLeft; _timelineMarkerManager.MarkerReached += MarkerManager_MarkerReached; _timelineMarkerManager.MarkerSkipped += MarkerManager_MarkerSkipped; _adMarkerManager = new AdMarkerManager(this); _adMarkerManager.MarkerLeft += AdManager_MarkerLeft; _adMarkerManager.MarkerReached += AdManager_MarkerReached; _adMarkerManager.MarkerSkipped += AdManager_MarkerSkipped; if (!IsInDesignMode) { #if !WINDOWS_PHONE && !OOB _offlineManager = new OfflineManager(); #endif PluginsManager = new PluginsManager(); _logger.LogWriteSuccessful += Logger_LogWriteSuccessful; _logger.LogWriteErrorOccurred += Logger_LogWriteErrorOccurred; _videoDoubleClickMonitor.ElementDoubleClicked += (s, e) => MediaPresenterElement_DoubleClicked(); _positionTimer.Interval = PositionUpdateInterval; _positionTimer.Tick += (s, e) => UpdateTimelinePositions(); #if !PROGRAMMATICCOMPOSITION PluginsManager.AddExternalPackageDownloadProgressChanged += PluginsManager_AddExternalPackageDownloadProgressChanged; PluginsManager.AddExternalPackageCompleted += PluginsManager_AddExternalPackageCompleted; PluginsManager.AddExternalPackageFailed += PluginsManager_AddExternalPackageFailed; #endif #if !WINDOWS_PHONE && !FULLSCREEN IsFullScreen = Application.Current.Host.Content.IsFullScreen; Application.Current.Host.Content.FullScreenChanged += Application_FullScreenChanged; #endif } }
private void CaptionManager_MarkerLeft(MediaMarkerManager<CaptionRegion> captionManager, CaptionRegion region) { OnCaptionRegionLeft(region); }
private void CaptionManager_MarkerReached(MediaMarkerManager<CaptionRegion> captionManager, CaptionRegion region, bool skippedInto) { OnCaptionRegionReached(region); }
private void MarkerManager_MarkerLeft(MediaMarkerManager<TimelineMediaMarker> markerManager, TimelineMediaMarker mediaMarker) { OnTimelineMarkerLeft(mediaMarker); }
private void MarkerManager_MarkerReached(MediaMarkerManager<TimelineMediaMarker> markerManager, TimelineMediaMarker mediaMarker, bool seekedInto) { OnTimelineMarkerReached(mediaMarker, seekedInto); }
private void MarkerManager_MarkerSkipped(MediaMarkerManager<TimelineMediaMarker> markerManager, TimelineMediaMarker mediaMarker) { OnTimelineMarkerSkipped(mediaMarker); }
private void AdManager_MarkerLeft(MediaMarkerManager<AdMarker> markerManager, AdMarker mediaMarker) { OnAdMarkerLeft(mediaMarker); }
private void AdManager_MarkerReached(MediaMarkerManager<AdMarker> markerManager, AdMarker mediaMarker, bool seekedInto) { OnAdMarkerReached(mediaMarker, seekedInto); }
private void AdManager_MarkerSkipped(MediaMarkerManager<AdMarker> markerManager, AdMarker mediaMarker) { OnAdMarkerSkipped(mediaMarker); }