public virtual void EventDispatcher_Video(EventData eventData) { VideoEventData e = eventData as VideoEventData; //use the ID to send event to a particular controller based on controller ID and for a specific video name if (e.ID.Equals(this.ID) && e.Name.Equals(this.videoName)) { ProcessEvent(e); } }
private void ProcessEvent(VideoEventData videoEventData) { if (this.videoPlayer == null) { this.videoPlayer = new VideoPlayer(); this.videoPlayer.Volume = 0.1f; } if (videoEventData.EventType == EventActionType.OnPlay) { if (this.videoPlayer.State != MediaState.Playing) { this.videoPlayer.Play(video); this.videoState = State.Playing; } } else if (videoEventData.EventType == EventActionType.OnPause) { if (this.videoPlayer.State == MediaState.Playing) { this.videoPlayer.Pause(); this.videoState = State.Paused; } } else if (videoEventData.EventType == EventActionType.OnStop) { if ((this.videoPlayer.State == MediaState.Playing) || (this.videoPlayer.State == MediaState.Paused)) { this.videoPlayer.Stop(); this.videoState = State.Stopped; } } else if (videoEventData.EventType == EventActionType.OnVolumeUp) { float newVolume = this.videoPlayer.Volume + volumeIncrement; this.videoPlayer.Volume = (newVolume <= 1) ? newVolume : 1; } else if (videoEventData.EventType == EventActionType.OnVolumeDown) { float newVolume = this.videoPlayer.Volume - volumeIncrement; this.videoPlayer.Volume = (newVolume >= 0) ? newVolume : 0; } }