Example #1
0
        void airplayServer_PlaybackInfoRequested(object sender, PlaybackInfoEventArgs e)
        {
            AirplayVideoPlayer currentVideoPlayer = getPlayer <AirplayVideoPlayer>();

            if (currentVideoPlayer != null)
            {
                PlaybackInfo playbackInfo = e.PlaybackInfo;
                playbackInfo.Duration = currentVideoPlayer.Duration.TotalSeconds;
                playbackInfo.Position = currentVideoPlayer.CurrentTime.TotalSeconds;
                playbackInfo.PlaybackLikelyToKeepUp = true;
                playbackInfo.ReadyToPlay            = true;
                PlaybackTimeRange timeRange = new PlaybackTimeRange();
                timeRange.Duration = playbackInfo.Duration;
                playbackInfo.LoadedTimeRanges.Add(timeRange);
                playbackInfo.SeekableTimeRanges.Add(timeRange);
                if (currentVideoPlayer.IsPaused)
                {
                    playbackInfo.Rate = 0;
                }
                else
                {
                    playbackInfo.Rate = 1;
                }
            }
        }
Example #2
0
 public void GetPlaybackInfo(PlaybackInfo playbackInfo)
 {
     if (hasStarted && m_Playback.Duration > 0)
     {
         playbackInfo.Duration = m_Playback.Duration / (float)COMHelper.UNITS;
         playbackInfo.Position = m_Playback.Position / (float)COMHelper.UNITS;
         playbackInfo.PlaybackLikelyToKeepUp = true;
         playbackInfo.ReadyToPlay            = true;
         PlaybackTimeRange timeRange = new PlaybackTimeRange()
         {
             Duration = playbackInfo.Duration
         };
         playbackInfo.LoadedTimeRanges.Add(timeRange);
         playbackInfo.SeekableTimeRanges.Add(timeRange);
         playbackInfo.Rate = m_Playback.IsPaused || hasFinished ? 0 : 1;
     }
 }
Example #3
0
        void airplayServer_PlaybackInfoRequested(object sender, PlaybackInfoEventArgs e)
        {
            invoke(delegate()
            {
                if (isVideoPlaying)
                {
                    PlaybackInfo playbackInfo           = e.PlaybackInfo;
                    playbackInfo.Duration               = currentVideoPlayer.Duration;
                    playbackInfo.Position               = currentVideoPlayer.CurrentPosition;
                    playbackInfo.PlaybackLikelyToKeepUp = true;
                    playbackInfo.ReadyToPlay            = true;

                    AvailableTimerange availableTimerange = currentVideoPlayer.GetAvailableTimerange();
                    PlaybackTimeRange timeRange           = new PlaybackTimeRange();
                    if (availableTimerange != null)
                    {
                        timeRange.Start    = availableTimerange.StartTime;
                        timeRange.Duration = availableTimerange.EndTime - availableTimerange.StartTime;
                    }
                    else
                    {
                        timeRange.Duration = currentVideoPlayer.Duration;
                    }
                    playbackInfo.LoadedTimeRanges.Add(timeRange);
                    playbackInfo.SeekableTimeRanges.Add(timeRange);

                    if (currentVideoPlayer.Paused)
                    {
                        playbackInfo.Rate = 0;
                    }
                    else
                    {
                        playbackInfo.Rate = 1;
                    }
                }
            });
        }