LEADTOOLS Multimedia (Leadtools.Multimedia assembly) Send comments on this topic. | Back to Introduction | Help Version 17.0.3.22
RunConvert Method
See Also 
Leadtools.Multimedia Namespace > ConvertCtrl Class : RunConvert Method



Runs a paused conversion process.

Syntax

Visual Basic (Declaration) 
Public Overridable Sub RunConvert() 
Visual Basic (Usage)Copy Code
Dim instance As ConvertCtrl
 
instance.RunConvert()
C# 
public virtual void RunConvert()
C++/CLI 
public:
virtual void RunConvert(); 

Example

Visual BasicCopy Code
Public _result As Boolean = False
      Public _form As ConvertCtrlForm = New ConvertCtrlForm()
      Public _convertctrl As ConvertCtrl
      Public _paused As Boolean = False
      Public _percent As Integer = 0
      Public Sub ConvertExample()
         ' reference the convert control
         _convertctrl = _form.ConvertCtrl

         ' input and output files
         Dim inFile As String = Path.Combine(LEAD_VARS.MediaDir, "ConvertCtrl_Source.avi")
         Dim outFile As String = Path.Combine(LEAD_VARS.MediaDir, "ConvertCtrl_ConvertExample.avi")

         Try
            ' set the source for conversion
            _convertctrl.SourceFile = inFile

            ' set the video and audio compressors
            _convertctrl.VideoCompressors.Mpeg2.Selected = True
            _convertctrl.AudioCompressors.AC3.Selected = True

            ' set the target output file and format
            _convertctrl.TargetFile = outFile

            ' set the target output format
            _convertctrl.TargetFormat = TargetFormatType.AVI

            ' if the source has a non-zero duration, convert it
            If _convertctrl.Duration > 0 Then
               ' set the selected area for conversion
               _convertctrl.SelectionStart = 10
               _convertctrl.SelectionEnd = 20

               ' subscribe to the progress event
               AddHandler _convertctrl.Progress, AddressOf ConvertCtrl_Progress

               ' start the capture process
               _convertctrl.StartConvert()

               ' set a timer on our form to do something
               AddHandler _form.TestTimer.Tick, AddressOf TestTimer_Tick
               _form.TestTimer.Interval = 1000
               _form.TestTimer.Start()

               ' we'll loop on the state and pump messages for this example.
               ' but you should not need to if running from a Windows Forms application.
               Do While _convertctrl.State = ConvertState.Running OrElse _convertctrl.State = ConvertState.Paused
                  Application.DoEvents()
               Loop
            End If
         Catch e1 As Exception
            _result = False
         End Try
      End Sub

      Private Sub ConvertCtrl_Progress(ByVal sender As Object, ByVal e As ProgressEventArgs)
         If _convertctrl.PercentComplete > 30 Then
            ' get the percentage complete
            _percent = _convertctrl.PercentComplete

            ' pause the conversion to demonstrate pausing
            _convertctrl.PauseConvert()
            _paused = True
         End If
      End Sub

      Private Sub TestTimer_Tick(ByVal sender As Object, ByVal e As EventArgs)
         _form.TestTimer.Stop()

         If _paused Then
            ' if we are paused, resume 
            If _convertctrl.State = ConvertState.Paused Then
               ' resume the conversion
               _convertctrl.RunConvert()

               ' set the result
               _result = True
               _paused = False
            End If
         End If

         _form.TestTimer.Start()
      End Sub

Public NotInheritable Class LEAD_VARS
   Public Const MediaDir As String = "C:\Program Files (x86)\LEAD Technologies\LEADTOOLS 17\Media"
End Class
C#Copy Code
public bool _result = false;
      public ConvertCtrlForm _form = new ConvertCtrlForm();
      public ConvertCtrl _convertctrl;
      public bool _paused = false;
      public int _percent = 0;
      public void ConvertExample()
      {
         // reference the convert control
         _convertctrl = _form.ConvertCtrl;

         // input and output files
         string inFile = Path.Combine(LEAD_VARS.MediaDir,"ConvertCtrl_Source.avi");
         string outFile = Path.Combine(LEAD_VARS.MediaDir,"ConvertCtrl_ConvertExample.avi");

         try
         {
            // set the source for conversion
            _convertctrl.SourceFile = inFile;

            // set the video and audio compressors
            _convertctrl.VideoCompressors.Mpeg2.Selected = true;
            _convertctrl.AudioCompressors.AC3.Selected = true;

            // set the target output file and format
            _convertctrl.TargetFile = outFile;

            // set the target output format
            _convertctrl.TargetFormat = TargetFormatType.AVI;

            // if the source has a non-zero duration, convert it
            if (_convertctrl.Duration > 0)
            {
               // set the selected area for conversion
               _convertctrl.SelectionStart = 10;
               _convertctrl.SelectionEnd = 20;

               // subscribe to the progress event
               _convertctrl.Progress += new ProgressEventHandler(ConvertCtrl_Progress);

               // start the capture process
               _convertctrl.StartConvert();

               // set a timer on our form to do something
               _form.TestTimer.Tick += new EventHandler(TestTimer_Tick);
               _form.TestTimer.Interval = 1000;
               _form.TestTimer.Start();

               // we'll loop on the state and pump messages for this example.
               // but you should not need to if running from a Windows Forms application.
               while (_convertctrl.State == ConvertState.Running
                  || _convertctrl.State == ConvertState.Paused)
                  Application.DoEvents();
            }
         }
         catch (Exception)
         {
            _result = false;
         }
      }

      void ConvertCtrl_Progress(object sender, ProgressEventArgs e)
      {
         if (_convertctrl.PercentComplete > 30)
         {
            // get the percentage complete
            _percent = _convertctrl.PercentComplete;

            // pause the conversion to demonstrate pausing
            _convertctrl.PauseConvert();
            _paused = true;
         }
      }

      void TestTimer_Tick(object sender, EventArgs e)
      {
         _form.TestTimer.Stop();

         if (_paused)
         {
            // if we are paused, resume 
            if (_convertctrl.State == ConvertState.Paused)
            {
               // resume the conversion
               _convertctrl.RunConvert();

               // set the result
               _result = true;
               _paused = false;
            }
         }

         _form.TestTimer.Start();
      }

static class LEAD_VARS
{
   public const string MediaDir = @"C:\Program Files (x86)\LEAD Technologies\LEADTOOLS 17\Media";
}

Remarks

The convert object is expected to be in the paused state before calling this method.

Requirements

Target Platforms: Microsoft .NET Framework 2.0, Windows 2000, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7

See Also