Imports Leadtools
Imports Leadtools.MediaFoundation
Imports LeadtoolsMediaFoundationExamples.Fixtures
Public _result As Boolean = False
Public _form As ConvertCtrlForm = New ConvertCtrlForm()
Public Sub ProcessorsExample()
   ' reference the convert control
   Dim convertctrl As 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_ProcessorsExample.MP4")
   Try
      ' set source file
      convertctrl.SourceFile = inFile
      ' set the selected video processor to the first one in the video processors list 
      convertctrl.SelectedVideoProcessors.Add(convertctrl.VideoProcessors(0))
      Dim vproc As Processor = convertctrl.SelectedVideoProcessors(0)
      ' set the selected audio processor to the first one in the audio processors list 
      convertctrl.SelectedAudioProcessors.Add(convertctrl.AudioProcessors(0))
      Dim aproc As Processor = convertctrl.SelectedAudioProcessors(0)
      ' set the video processor properties
      If vproc.HasDialog(ProcessorDlg.Properties) Then
         vproc.ShowDialog(ProcessorDlg.Properties, _form)
      End If
      ' set the audio processor properties
      If aproc.HasDialog(ProcessorDlg.Properties) Then
         aproc.ShowDialog(ProcessorDlg.Properties, _form)
      End If
      ' 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
      ' start the capture process
      convertctrl.StartConvert()
      ' 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
         Application.DoEvents()
      Loop
      ' set the result to what we expect
      _result = File.Exists(outFile)
   Catch e1 As Exception
      _result = False
   End Try
End Sub
Public NotInheritable Class LEAD_VARS
Public Const MediaDir As String = "C:\Program Files (x86)\LEAD Technologies\LEADTOOLS 18\Media"
End Class
             
   
     
            using Leadtools;
using Leadtools.MediaFoundation;
using LeadtoolsMediaFoundationExamples.Fixtures;
public bool _result = false;
public ConvertCtrlForm _form = new ConvertCtrlForm();
public void ProcessorsExample()
{
   // reference the convert control
   ConvertCtrl 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_ProcessorsExample.avi");
   try
   {
      // set source file
      convertctrl.SourceFile = inFile;
      // set the selected video processor to the first one in the video processors list 
      convertctrl.SelectedVideoProcessors.Add(convertctrl.VideoProcessors[0]);
      Processor vproc = convertctrl.SelectedVideoProcessors[0];
      // set the selected audio processor to the first one in the audio processors list 
      convertctrl.SelectedAudioProcessors.Add(convertctrl.AudioProcessors[0]);
      Processor aproc = convertctrl.SelectedAudioProcessors[0];
      // set the video processor properties
      if (vproc.HasDialog(ProcessorDlg.Properties))
         vproc.ShowDialog(ProcessorDlg.Properties, _form);
      // set the audio processor properties
      if (aproc.HasDialog(ProcessorDlg.Properties))
         aproc.ShowDialog(ProcessorDlg.Properties, _form);
      // 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;
      // start the capture process
      convertctrl.StartConvert();
      // 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)
         Application.DoEvents();
      // set the result to what we expect
      _result = File.Exists(outFile);
   }
   catch (Exception)
   {
      _result = false;
   }
}
static class LEAD_VARS
{
public const string MediaDir = @"C:\Program Files (x86)\LEAD Technologies\LEADTOOLS 18\Media";
}