コード例 #1
0
        private void trackBarSpeed_ValueChanged(object sender, EventArgs e)
        {
            if (MainForm.GraphBuilder is ITimeShifting)
            {
                ITimeShifting timeShifting = MainForm.GraphBuilder as ITimeShifting;
                timeShifting.SetRate((double)this.trackBarSpeed.Value / 100.0);
                double speed = timeShifting.GetRate();
                this.labelSpeed2.Text = string.Format(new CultureInfo(""), "{0:F1}X", speed);

                MainForm.SetVideoRefreshTimer();
            }
            else if (MainForm.GraphBuilder is IPlayer)
            {
                IPlayer player = MainForm.GraphBuilder as IPlayer;
                player.SetRate((double)this.trackBarSpeed.Value / 100.0);
                double speed = player.GetRate();
                this.labelSpeed2.Text = string.Format(new CultureInfo(""), "{0:F1}X", speed);

                MainForm.SetVideoRefreshTimer();
            }
            else
            {
                this.labelSpeed2.Text = string.Format(new CultureInfo(""), "{0:F1}X", (double)this.trackBarSpeed.Value / 100.0);
            }
        }
コード例 #2
0
        private void trackBarExTimeLine_Scroll(object sender, EventArgs e)
        {
            if (MainForm.GraphBuilder is ITimeShifting)
            {
                ITimeShifting timeShifting = MainForm.GraphBuilder as ITimeShifting;
                TimeSpan      start;
                TimeSpan      stop;
                timeShifting.GetPositions(out start, out stop);

                double currentPosition = (double)this.trackBarExTimeLine.Value / 1000.0;

                TimeSpan position = TimeSpan.FromSeconds(currentPosition) + start;
                timeShifting.SetPosition(position);

                MainForm.SetVideoRefreshTimer();
            }
            else if (MainForm.GraphBuilder is IPlayer)
            {
                IPlayer player          = MainForm.GraphBuilder as IPlayer;
                double  currentPosition = (double)this.trackBarExTimeLine.Value / 1000.0;

                TimeSpan position = TimeSpan.FromSeconds(currentPosition);
                player.SetPosition(position);

                MainForm.SetVideoRefreshTimer();
            }
        }