void StateRequested(object?sender, StateRequested e) { if (Control != null) { switch (e.State) { case MediaElementState.Playing: Control.Play(); break; case MediaElementState.Paused: if (Control.CanPause) { Control.Pause(); } break; case MediaElementState.Stopped: Control.Stop(); break; } Controller.Position = Control.Position; } }
void StateRequested(object sender, StateRequested e) { if (_view == null) { return; } switch (e.State) { case MediaElementState.Playing: _view.Start(); Controller.CurrentState = _view.IsPlaying ? MediaElementState.Playing : MediaElementState.Stopped; break; case MediaElementState.Paused: if (_view.CanPause()) { _view.Pause(); Controller.CurrentState = MediaElementState.Paused; } break; case MediaElementState.Stopped: _view.Pause(); _view.SeekTo(0); Controller.CurrentState = _view.IsPlaying ? MediaElementState.Playing : MediaElementState.Stopped; break; } UpdateLayoutParameters(); Controller.Position = _view.Position; }
protected void OnStateRequested(object sender, StateRequested e) { switch (e.State) { case MediaElementState.Playing: _player.Start(); break; case MediaElementState.Paused: _player.Pause(); break; case MediaElementState.Stopped: _player.Stop(); break; } }
private void MediaElement_StateRequested(object sender, StateRequested e) { VisualStateManager.GoToState(PlayPauseToggle, (e.State == MediaElementState.Playing) ? "playing" : "paused"); if (e.State == MediaElementState.Playing) { _playbackTimer.Stop(); _playbackTimer.Start(); } else if (e.State == MediaElementState.Paused || e.State == MediaElementState.Stopped) { _playbackTimer.Stop(); } }
void MediaElementStateRequested(object?sender, StateRequested e) { switch (e.State) { case MediaElementState.Playing: Play(); break; case MediaElementState.Paused: if (Element.KeepScreenOn) { SetKeepScreenOn(false); } if (avPlayerViewController.Player != null) { avPlayerViewController.Player.Pause(); Controller.CurrentState = MediaElementState.Paused; } break; case MediaElementState.Stopped: if (Element.KeepScreenOn) { SetKeepScreenOn(false); } // iOS has no stop... avPlayerViewController.Player?.Pause(); avPlayerViewController.Player?.Seek(CMTime.Zero); Controller.CurrentState = MediaElementState.Stopped; var err = AVAudioSession.SharedInstance().SetActive(false); if (err != null) { Log.Warning("MediaElement", "Failed to set AVAudioSession Inactive {0}", err.Code); } break; } Controller.Position = Position; }
void MediaElementStateRequested(object sender, StateRequested e) { MediaElementVolumeRequested(this, EventArgs.Empty); switch (e.State) { case MediaElementState.Playing: Play(); break; case MediaElementState.Paused: if (Element.KeepScreenOn) { SetKeepScreenOn(false); } if (_avPlayerViewController.Player != null) { _avPlayerViewController.Player.Pause(); Controller.CurrentState = MediaElementState.Paused; } break; case MediaElementState.Stopped: if (Element.KeepScreenOn) { SetKeepScreenOn(false); } //ios has no stop... _avPlayerViewController?.Player.Pause(); _avPlayerViewController?.Player.Seek(CMTime.Zero); Controller.CurrentState = MediaElementState.Stopped; NSError err = AVAudioSession.SharedInstance().SetActive(false); if (!(err is null)) { Log.Warning("MediaElement", "Failed to set AVAudioSession Inactive {0}", err.Code); } break; } Controller.Position = Position; }
void ElementStateRequested(object sender, StateRequested e) { _requestedState = e.State; switch (e.State) { case MediaElementState.Playing: if (Element.KeepScreenOn) { DisplayRequestActive(); } Control.Play(); Controller.CurrentState = _requestedState; break; case MediaElementState.Paused: if (Control.CanPause) { if (Element.KeepScreenOn) { DisplayRequestRelease(); } Control.Pause(); Controller.CurrentState = _requestedState; } break; case MediaElementState.Stopped: if (Element.KeepScreenOn) { DisplayRequestRelease(); } Control.Stop(); Controller.CurrentState = _requestedState; break; } Controller.Position = Control.Position; }
void MediaElementStateRequested(object sender, StateRequested e) { MediaElementVolumeRequested(this, EventArgs.Empty); switch (e.State) { case MediaElementState.Playing: Play(); break; case MediaElementState.Paused: if (MediaElement.KeepScreenOn) { SetKeepScreenOn(false); } if (Player != null) { Player.Pause(); Controller.CurrentState = MediaElementState.Paused; } break; case MediaElementState.Stopped: if (MediaElement.KeepScreenOn) { SetKeepScreenOn(false); } //ios has no stop... Player.Pause(); Player.Seek(CMTime.Zero); Controller.CurrentState = MediaElementState.Stopped; NSError err = AVAudioSession.SharedInstance().SetActive(false); break; } Controller.Position = Position; }