void Player(LiveStreamPlayerState state) { if (SelectedRoom == null) { return; } switch (state) { case LiveStreamPlayerState.Play: State = LiveStreamPlayerState.Play; break; case LiveStreamPlayerState.Pause: State = LiveStreamPlayerState.Pause; break; case LiveStreamPlayerState.Stop: State = LiveStreamPlayerState.Stop; break; case LiveStreamPlayerState.ExternalMediaPlayer: State = LiveStreamPlayerState.ExternalMediaPlayer; PlayVideoFeed(SelectedRoom); break; } }
void ChangePlayerState(string url, LiveStreamPlayerState state) { switch (state) { case LiveStreamPlayerState.Play: if (string.IsNullOrEmpty(url)) { if (Player.SourceProvider.MediaPlayer.State == MediaStates.Playing) { Player.SourceProvider.MediaPlayer.Stop(); } _currentVideoUrl = null; } else { if (_currentVideoUrl == url) { if (Player.SourceProvider.MediaPlayer.State == MediaStates.Paused) { Player.SourceProvider.MediaPlayer.Play(); } } else { if (Player.SourceProvider.MediaPlayer.State == MediaStates.Playing) { Player.SourceProvider.MediaPlayer.Stop(); } Player.SourceProvider.MediaPlayer.Play(new Uri(url, UriKind.Absolute)); _currentVideoUrl = url; } } break; case LiveStreamPlayerState.ExternalMediaPlayer: if (Player.SourceProvider.MediaPlayer.State == MediaStates.Playing || Player.SourceProvider.MediaPlayer.State == MediaStates.Paused) { Player.SourceProvider.MediaPlayer.Stop(); } break; case LiveStreamPlayerState.Stop: if (Player.SourceProvider.MediaPlayer.State == MediaStates.Playing || Player.SourceProvider.MediaPlayer.State == MediaStates.Paused) { Player.SourceProvider.MediaPlayer.Stop(); } _currentVideoUrl = null; break; case LiveStreamPlayerState.Pause: if (Player.SourceProvider.MediaPlayer.State == MediaStates.Playing) { Player.SourceProvider.MediaPlayer.Pause(); } break; } }