RunConvert Method

Summary

Runs a paused conversion process.

Syntax
C#
VB
C++
public virtual void RunConvert() 
Public Overridable Sub RunConvert()  
public: 
virtual void RunConvert();  

Remarks

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

Example
C#
VB
using Leadtools; 
using Leadtools.MediaFoundation; 
using LeadtoolsMediaFoundationExamples.Fixtures; 
 
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.MP4"); 
 
   try 
   { 
      // set the source for conversion 
      _convertctrl.SourceFile = inFile; 
 
      // select MP4 target format 
      _convertctrl.TargetFormat = TargetFormatType.MP4; 
 
      // select H264 video target format 
      int index = -1; 
      TargetVideoFormats targetvideoformats = _convertctrl.TargetFormats[_convertctrl.TargetFormat].VideoFormats; 
      index = targetvideoformats.IndexOf("{34363248-0000-0010-8000-00AA00389B71}");// H264 
      targetvideoformats.Selection = index; 
 
      // select AAC audio target format 
      TargetAudioFormats targetaudioformats = _convertctrl.TargetFormats[_convertctrl.TargetFormat].AudioFormats; 
      index = targetaudioformats.IndexOf("{00001610-0000-0010-8000-00AA00389B71}");// AAC 
      targetaudioformats.Selection = index; 
 
      // set the target output file and format 
      _convertctrl.TargetFile = outFile; 
 
      // 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 20\Media"; 
} 
Imports Leadtools 
Imports Leadtools.MediaFoundation 
Imports LeadtoolsMediaFoundationExamples.Fixtures 
 
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.mp4") 
 
   Try 
      ' set the source for conversion 
      _convertctrl.SourceFile = inFile 
 
      ' select MP4 target format 
      _convertctrl.TargetFormat = TargetFormatType.MP4 
 
      ' select H264 video target format 
      Dim index As Integer = -1 
      Dim trgvideoformats As TargetVideoFormats = _convertctrl.TargetFormats(_convertctrl.TargetFormat).VideoFormats 
      index = trgvideoformats.IndexOf("{34363248-0000-0010-8000-00AA00389B71}") ' H264 
      trgvideoformats.Selection = index 
 
      ' select AAC audio target format 
      Dim trgaudioformats As TargetAudioFormats = _convertctrl.TargetFormats(_convertctrl.TargetFormat).AudioFormats 
      index = trgaudioformats.IndexOf("{00001610-0000-0010-8000-00AA00389B71}") ' AAC 
      trgaudioformats.Selection = index 
 
      ' set the target output file and format 
      _convertctrl.TargetFile = outFile 
 
      ' set the target output format 
      _convertctrl.TargetFormat = TargetFormatType.MP4 
 
      ' 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 20\Media" 
End Class 

Requirements

Target Platforms

Help Version 20.0.2020.4.2
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2020 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.MediaFoundation Assembly