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";
}