Esempio n. 1
0
 public static int ShowSubtitle(List<Paragraph> paragraphs, VideoPlayerContainer videoPlayerContainer)
 {
     if (videoPlayerContainer.VideoPlayer != null)
     {
         double positionInMilliseconds = (videoPlayerContainer.CurrentPosition * TimeCode.BaseUnit) + 5;
         for (int i = 0; i < paragraphs.Count; i++)
         {
             var p = paragraphs[i];
             if (p.StartTime.TotalMilliseconds <= positionInMilliseconds &&
                 p.EndTime.TotalMilliseconds > positionInMilliseconds)
             {
                 string text = p.Text.Replace("|", Environment.NewLine);
                 bool isInfo = p == paragraphs[0] && (p.StartTime.TotalMilliseconds == 0 && p.Duration.TotalMilliseconds == 0 || p.StartTime.TotalMilliseconds == Pac.PacNullTime.TotalMilliseconds);
                 if (!isInfo)
                 {
                     if (videoPlayerContainer.LastParagraph != p)
                         videoPlayerContainer.SetSubtitleText(text, p);
                     else if (videoPlayerContainer.SubtitleText != text)
                         videoPlayerContainer.SetSubtitleText(text, p);
                     return i;
                 }
             }
         }
         if (!string.IsNullOrEmpty(videoPlayerContainer.SubtitleText))
             videoPlayerContainer.SetSubtitleText(string.Empty, null);
     }
     return -1;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="VideoPlayerUndocked"/> class.
 /// </summary>
 /// <param name="main">
 /// The main.
 /// </param>
 /// <param name="videoPlayerContainer">
 /// The video player container.
 /// </param>
 public VideoPlayerUndocked(Main main, VideoPlayerContainer videoPlayerContainer)
 {
     this.InitializeComponent();
     this._mainForm = main;
     this.Icon = (Icon)this._mainForm.Icon.Clone();
     this._videoPlayerContainer = videoPlayerContainer;
     this._redockKeys = Utilities.GetKeys(Configuration.Settings.Shortcuts.MainVideoToggleVideoControls);
     this.RedockOnFullscreenEnd = false;
     videoPlayerContainer.TextBox.MouseMove += this.VideoPlayerUndocked_MouseMove;
 }
Esempio n. 3
0
 public static int GetSubtitleIndex(List<Paragraph> paragraphs, VideoPlayerContainer videoPlayerContainer)
 {
     if (videoPlayerContainer.VideoPlayer != null)
     {
         double positionInMilliseconds = (videoPlayerContainer.VideoPlayer.CurrentPosition * TimeCode.BaseUnit) + 5;
         for (int i = 0; i < paragraphs.Count; i++)
         {
             var p = paragraphs[i];
             if (p.StartTime.TotalMilliseconds <= positionInMilliseconds && p.EndTime.TotalMilliseconds > positionInMilliseconds)
             {
                 bool isInfo = p == paragraphs[0] && (p.StartTime.TotalMilliseconds == 0 && p.Duration.TotalMilliseconds == 0 || p.StartTime.TotalMilliseconds == Pac.PacNullTime.TotalMilliseconds);
                 if (!isInfo)
                     return i;
             }
         }
         if (!string.IsNullOrEmpty(videoPlayerContainer.SubtitleText))
             videoPlayerContainer.SetSubtitleText(string.Empty, null);
     }
     return -1;
 }
Esempio n. 4
0
 private void GoBackSeconds(double seconds, VideoPlayerContainer mediaPlayer)
 {
     if (mediaPlayer.CurrentPosition > seconds)
         mediaPlayer.CurrentPosition -= seconds;
     else
         mediaPlayer.CurrentPosition = 0;
     Utilities.ShowSubtitle(_paragraphs, mediaPlayer);
 }
Esempio n. 5
0
        private void GotoSubtitlePosition(VideoPlayerContainer mediaPlayer)
        {
            int index;
            if (mediaPlayer == MediaPlayerStart)
                index = comboBoxStartTexts.SelectedIndex;
            else
                index = comboBoxEndTexts.SelectedIndex;

            mediaPlayer.Pause();
            if (index != -1)
            {
                double indexPositionInSeconds = _paragraphs[index].StartTime.TotalMilliseconds / 1000.0;

                if (indexPositionInSeconds > mediaPlayer.Duration)
                    indexPositionInSeconds = mediaPlayer.Duration - (2 * 60);

                if (indexPositionInSeconds < 0)
                    indexPositionInSeconds = 0;

                mediaPlayer.CurrentPosition = indexPositionInSeconds;
                mediaPlayer.RefreshProgressBar();
            }
        }
Esempio n. 6
0
        public static int ShowSubtitle(List<Paragraph> paragraphs, Subtitle original, VideoPlayerContainer videoPlayerContainer)
        {
            int index = 0;
            if (videoPlayerContainer.VideoPlayer != null)
            {
                double positionInMilliseconds = (videoPlayerContainer.VideoPlayer.CurrentPosition * 1000.0) + 15;
                for (int i = 0; i < paragraphs.Count; i++)
                {
                    var p = paragraphs[i];
                    if (p.StartTime.TotalMilliseconds <= positionInMilliseconds &&
                        p.EndTime.TotalMilliseconds > positionInMilliseconds)
                    {
                        var op = Utilities.GetOriginalParagraph(index, p, original.Paragraphs);

                        string text = p.Text.Replace("|", Environment.NewLine);
                        if (op != null)
                            text = text + Environment.NewLine + Environment.NewLine + op.Text.Replace("|", Environment.NewLine);

                        bool isInfo = p == paragraphs[0] && p.StartTime.TotalMilliseconds == 0 && positionInMilliseconds > 3000;
                        if (!isInfo)
                        {
                            if (videoPlayerContainer.LastParagraph != p)
                                videoPlayerContainer.SetSubtitleText(text, p);
                            else if (videoPlayerContainer.SubtitleText != text)
                                videoPlayerContainer.SetSubtitleText(text, p);
                            return i;
                        }
                    }
                }
            }
            if (!string.IsNullOrEmpty(videoPlayerContainer.SubtitleText))
                videoPlayerContainer.SetSubtitleText(string.Empty, null);
            return -1;
        }
Esempio n. 7
0
 public static void InitializeVideoPlayerAndContainer(string fileName, VideoInfo videoInfo, VideoPlayerContainer videoPlayerContainer, EventHandler onVideoLoaded, EventHandler onVideoEnded)
 {
     try
     {
         videoPlayerContainer.VideoPlayer = GetVideoPlayer();
         videoPlayerContainer.VideoPlayer.Initialize(videoPlayerContainer.PanelPlayer, fileName, onVideoLoaded, onVideoEnded);
         videoPlayerContainer.ShowStopButton = Configuration.Settings.General.VideoPlayerShowStopButton;
         videoPlayerContainer.ShowFullscreenButton = false;
         videoPlayerContainer.ShowMuteButton = Configuration.Settings.General.VideoPlayerShowMuteButton;
         videoPlayerContainer.Volume = Configuration.Settings.General.VideoPlayerDefaultVolume;
         videoPlayerContainer.EnableMouseWheelStep();
         videoPlayerContainer.VideoWidth = videoInfo.Width;
         videoPlayerContainer.VideoHeight = videoInfo.Height;
     }
     catch (Exception exception)
     {
         videoPlayerContainer.VideoPlayer = null;
         var videoError = new VideoError();
         videoError.Initialize(fileName, videoInfo, exception);
         videoError.ShowDialog();
     }
 }
        /// <summary>
        /// The goto subtitle position.
        /// </summary>
        /// <param name="mediaPlayer">
        /// The media player.
        /// </param>
        private void GotoSubtitlePosition(VideoPlayerContainer mediaPlayer)
        {
            int index;
            if (mediaPlayer == this.MediaPlayerStart)
            {
                index = this.comboBoxStartTexts.SelectedIndex;
            }
            else
            {
                index = this.comboBoxEndTexts.SelectedIndex;
            }

            mediaPlayer.Pause();
            if (index != -1)
            {
                double indexPositionInSeconds = this._paragraphs[index].StartTime.TotalMilliseconds / TimeCode.BaseUnit;

                if (indexPositionInSeconds > mediaPlayer.Duration)
                {
                    indexPositionInSeconds = mediaPlayer.Duration - (2 * 60);
                }

                if (indexPositionInSeconds < 0)
                {
                    indexPositionInSeconds = 0;
                }

                mediaPlayer.CurrentPosition = indexPositionInSeconds;
                mediaPlayer.RefreshProgressBar();
            }
        }
        public int ShowSubtitle(List<Paragraph> paragraphs, VideoPlayerContainer videoPlayerContainer)
        {
            int result = Utilities.ShowSubtitle(paragraphs, videoPlayerContainer);

            return result;

            // TODO: add assertions to method UtilitiesTest.ShowSubtitle(List`1<Paragraph>, VideoPlayerContainer)
        }