Esempio n. 1
0
        //Метод CleanUp (Зачистка графов)
        public void CleanUp()
        {
            if (mediaControl != null) mediaControl.Stop();
            CurrentStatus = mStatus.Stop;

            if (videoWindow != null)
            {
                videoWindow.put_Visible(0);
                videoWindow.put_Owner(new IntPtr(0));
            }
            if (mediaControl != null)  mediaControl  = null;
            if (mediaPosition != null) mediaPosition = null;
            if (mediaEventEx != null)  mediaEventEx  = null;
            if (mediaEvent != null)    mediaEvent    = null;
            if (videoWindow != null)   videoWindow   = null;
            if (basicAudio != null)    basicAudio    = null;
            if (graphBuilder != null)  graphBuilder  = null;
        }
Esempio n. 2
0
        //Мотод для загрузки видео файла.
        public void FileLoad(string sfile, Panel vPanel)
        {
            CleanUp();

            graphBuilder  = (IGraphBuilder) new FilterGraph();
            mediaControl  = graphBuilder as IMediaControl;
            mediaPosition = graphBuilder as IMediaPosition;
            videoWindow   = graphBuilder as IVideoWindow;
            basicAudio    = graphBuilder as IBasicAudio;

            ddColor.lBrightness = 0;
            ddColor.lContrast = 0;
            ddColor.lGamma = 0;
            ddColor.lSaturation = 0;

            graphBuilder.RenderFile(sfile, null);
            videoWindow.put_Owner(vPanel.Handle);
            videoWindow.put_WindowStyle(WindowStyle.Child
                                      | WindowStyle.ClipSiblings
                                      | WindowStyle.ClipChildren);
            videoWindow.SetWindowPosition(vPanel.ClientRectangle.Left,
                                          vPanel.ClientRectangle.Top,
                                          vPanel.ClientRectangle.Width,
                                          vPanel.ClientRectangle.Height);

            mediaControl.Run();
            CurrentStatus = mStatus.Play;
            mediaPosition.get_Duration(out mediaTimeSeconds);
            allSeconds = (int)mediaTimeSeconds;
        }
Esempio n. 3
0
        //Метод расчета и отображения времени видео
        public void TimeManager(ToolStripLabel tsLabel, ToolStripLabel tsLabel1, Timer timer)
        {
            double timeLeft;
            mediaPosition.get_CurrentPosition(out timeLeft);

            if (timeLeft == mediaTimeSeconds)
            {
                CurrentStatus = mStatus.Stop;
                timer.Stop();
            }
            if (CurrentStatus == mStatus.Stop)
            {
                allSeconds = (int) mediaTimeSeconds;
                timer.Stop();
            }

            int hour = allSeconds / 3600;
            int minute = (allSeconds - (hour * 3600)) / 60;
            int seconds = allSeconds - (hour*3600 + minute*60);
            tsLabel.Text = string.Format("{0:D2}:{1:D2}:{2:D2}", hour, minute, seconds);

            int hour1 = (int)timeLeft / 3600;
            int minute1 = ((int)timeLeft - (hour1 * 3600)) / 60;
            int seconds1 = (int)timeLeft - (hour1 * 3600 + minute1 * 60);
            tsLabel1.Text = string.Format("{0:D2}:{1:D2}:{2:D2}", hour1, minute1, seconds1);

            if (mediaScroled == true)
            {
                allSeconds = (int)mediaTimeSeconds - (int)timeLeft;
            }
            else
            {
               allSeconds -= 1;
            }
            mediaScroled = false;
        }
Esempio n. 4
0
 public void MediaStop()
 {
     CurrentStatus = mStatus.Stop;
     mediaControl.Stop();
     mediaPosition.put_CurrentPosition(0);
 }
Esempio n. 5
0
 //Методы управления видео (Play, Pause, Stop)
 public void MediaPlay()
 {
     mediaControl.Run();
     CurrentStatus = mStatus.Play;
 }
Esempio n. 6
0
 public void MediaPause()
 {
     mediaControl.Pause();
     CurrentStatus = mStatus.Pause;
 }