Ejemplo n.º 1
0
        /// <summary>
        /// Play episode async
        /// </summary>
        /// <param name="episode">Episode to play</param>
        /// <param name="startPosition">Postion from where playback should be started (only valid if resum=false)</param>
        /// <param name="resume">Resume from last stop?</param>
        private static void DoPlayEpisode(DBEpisode episode, bool resume, int startPosition)
        {
            if (GUIGraphicsContext.form.InvokeRequired)
            {
                PlayEpisodeAsyncDelegate d = new PlayEpisodeAsyncDelegate(DoPlayEpisode);
                GUIGraphicsContext.form.Invoke(d, new object[] { episode, resume, startPosition });
                return;
            }

            WifiRemote.LogMessage("Play episode (resume: " + resume + ", pos: " + startPosition, WifiRemote.LogType.Debug);

            if (player == null)
            {
                player = new VideoHandler();
            }

            // Reset stopTime if resume is false
            if (!resume)
            {
                episode[DBEpisode.cStopTime] = 0;
            }

            player.ResumeOrPlay((DBEpisode)episode);

            if (!resume && startPosition > 0)
            {
                g_Player.SeekAbsolute(startPosition);
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Play episode async
        /// </summary>
        /// <param name="episode">Episode to play</param>
        /// <param name="startPosition">Postion from where playback should be started (only valid if resum=false)</param>
        /// <param name="resume">Resume from last stop?</param>
        private static void DoPlayEpisode(DBEpisode episode, bool resume, int startPosition)
        {
            if (GUIGraphicsContext.form.InvokeRequired)
            {
                PlayEpisodeAsyncDelegate d = new PlayEpisodeAsyncDelegate(DoPlayEpisode);
                GUIGraphicsContext.form.Invoke(d, new object[] { episode, resume, startPosition });
                return;
            }

            WifiRemote.LogMessage("Play episode (resume: " + resume + ", pos: " + startPosition, WifiRemote.LogType.Debug);

            if (player == null) player = new VideoHandler();

            // Reset stopTime if resume is false
            if (!resume)
            {
                episode[DBEpisode.cStopTime] = 0;
            }

            player.ResumeOrPlay((DBEpisode)episode);

            if (!resume && startPosition > 0)
            {
                g_Player.SeekAbsolute(startPosition);
            }
        }