/// <summary> /// Plays the Video. /// </summary> public void Play() { CurrentState = MediaStates.Playing; vid.Play(); }
public VlcMediaStateChangedEventArgs(MediaStates state) { State = state; }
/// <summary> /// Starts the emittion of Particle2D's. /// </summary> public void Start() { currentState = MediaStates.Playing; }
/// <summary> /// Pauses the emittion of Particle2D's. /// </summary> public void Pause() { currentState = MediaStates.Paused; }
/// <summary> /// Plays the video. /// </summary> public void Play() { vidPlayer.Play(video); HasEnded = false; currentState = MediaStates.Playing; }
public void OnMediaStateChanged(MediaStates state) { var del = StateChanged; if (del != null) del(this, new VlcMediaStateChangedEventArgs(state)); }
// State Machine! async Task HandleActionAsync(ServiceActions action) { Console.WriteLine("action: {0}, state: {1}", action, currentState); if (action == ServiceActions.Play) { switch (currentState) { case MediaStates.End: case MediaStates.Error: case MediaStates.Zero: await initializePlayer(); break; case MediaStates.Idle: await player.SetDataSourceAsync(ApplicationContext, Android.Net.Uri.Parse(KQEDSOURCE)); currentState = MediaStates.Initialized; await HandleActionAsync(ServiceActions.Play); break; case MediaStates.Initialized: player.PrepareAsync(); currentState = MediaStates.Preparing; break; case MediaStates.Preparing: // nothing to do. waiting for return. break; case MediaStates.Prepared: Start(); break; case MediaStates.Started: // do nothing - its already playing break; case MediaStates.Paused: Start(); break; case MediaStates.Stopped: player.PrepareAsync(); currentState = MediaStates.Preparing; break; } } else if (action == ServiceActions.Pause) { switch (currentState) { case MediaStates.Started: Pause(); break; default: //ignore break; } } else if (action == ServiceActions.Stop) { switch (currentState) { case MediaStates.Prepared: case MediaStates.Started: case MediaStates.Paused: case MediaStates.Stopped: case MediaStates.PlaybackCompleted: Stop(); break; default: currentState = MediaStates.Error; break; } } }
public void OnMediaStateChanged(MediaStates state) { StateChanged?.Invoke(this, new VlcMediaStateChangedEventArgs(state)); }