コード例 #1
0
        protected void HandlePlayerEnded(IPlayerSlotController psc, uint activationSequence)
        {
            IPlayerContext pc = PlayerContext.GetPlayerContext(psc);

            if (pc == null || !pc.IsValid || psc.ActivationSequence != activationSequence)
            {
                return;
            }
            if (!pc.NextItem())
            {
                if (pc.CloseWhenFinished)
                {
                    pc.Close();
                }
                else
                {
                    psc.Stop();
                }
                if (psc.SlotIndex == PlayerManagerConsts.PRIMARY_SLOT)
                {
                    StepOutOfPlayerWFState(PlayerWFStateType.FullscreenContent);
                }
                if (psc.SlotIndex == CurrentPlayerIndex)
                {
                    StepOutOfPlayerWFState(PlayerWFStateType.CurrentlyPlaying);
                }
            }
        }
コード例 #2
0
        public void Stop()
        {
            IPlayerSlotController psc = _slotController;

            if (psc == null)
            {
                return;
            }
            IPlaylist playlist;

            lock (SyncObj)
                playlist = _playlist;
            playlist.ResetStatus();
            psc.Stop();
        }
コード例 #3
0
        protected void HandlePlayerEnded(IPlayerSlotController psc)
        {
            IPlayerContext pc = PlayerContext.GetPlayerContext(psc);

            if (pc == null || !pc.IsActive)
            {
                return;
            }
            if (!pc.NextItem())
            {
                if (pc.CloseWhenFinished)
                {
                    pc.Close();
                }
                else
                {
                    psc.Stop();
                }
                CheckMediaWorkflowStates_Async();
            }
        }
コード例 #4
0
        protected void HandlePlayerEnded(IPlayerSlotController psc)
        {
            IPlayerContext pc = PlayerContext.GetPlayerContext(psc);

            if (pc == null || !pc.IsActive)
            {
                return;
            }
            HandleProgress(TimeSpan.FromSeconds(-1), pc.CurrentMediaItem, true).Wait();
            if (!pc.NextItem())
            {
                if (pc.CloseWhenFinished)
                {
                    pc.Close();
                }
                else
                {
                    psc.Stop();
                }
                CheckMediaWorkflowStates_Async();
            }
        }
コード例 #5
0
 protected void HandlePlayerEnded(IPlayerSlotController psc, uint activationSequence)
 {
   IPlayerContext pc = PlayerContext.GetPlayerContext(psc);
   if (pc == null || !pc.IsValid || psc.ActivationSequence != activationSequence)
     return;
   if (!pc.NextItem())
   {
     if (pc.CloseWhenFinished)
       pc.Close();
     else
       psc.Stop();
     if (psc.SlotIndex == PlayerManagerConsts.PRIMARY_SLOT)
       StepOutOfPlayerWFState(PlayerWFStateType.FullscreenContent);
     if (psc.SlotIndex == CurrentPlayerIndex)
       StepOutOfPlayerWFState(PlayerWFStateType.CurrentlyPlaying);
   }
 }