Exemplo n.º 1
0
 /// <summary>
 /// Plays the Video.
 /// </summary>
 public void Play()
 {
     CurrentState = MediaStates.Playing;
     vid.Play();
 }
 public VlcMediaStateChangedEventArgs(MediaStates state)
 {
     State = state;
 }
Exemplo n.º 3
0
 /// <summary>
 /// Starts the emittion of Particle2D's.
 /// </summary>
 public void Start()
 {
     currentState = MediaStates.Playing;
 }
Exemplo n.º 4
0
 /// <summary>
 /// Pauses the emittion of Particle2D's.
 /// </summary>
 public void Pause()
 {
     currentState = MediaStates.Paused;
 }
Exemplo n.º 5
0
 /// <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));
 }
Exemplo n.º 7
0
        // 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 VlcMediaStateChangedEventArgs(MediaStates state)
 {
     State = state;
 }
 public void OnMediaStateChanged(MediaStates state)
 {
     StateChanged?.Invoke(this, new VlcMediaStateChangedEventArgs(state));
 }