Leadtools.MediaFoundation Namespace > ConvertCtrl Class : Progress Event |
'Declaration Public Event Progress As ProgressEventHandler
'Usage Dim instance As ConvertCtrl Dim handler As ProgressEventHandler AddHandler instance.Progress, handler
public event ProgressEventHandler Progress
public: event ProgressEventHandler^ Progress
The event handler receives an argument of type ProgressEventArgs containing data related to this event. The following ProgressEventArgs properties provide information specific to this event.
Property | Description |
---|---|
percent | The percentage complete for convert progress notifications. |
time | The time elapsed for capture progress notifications. |
Imports Leadtools Imports Leadtools.MediaFoundation Imports LeadtoolsMediaFoundationExamples.Fixtures Public _result As Boolean = False Public _form As ConvertCtrlForm = New ConvertCtrlForm() Public Sub ProgressExample() Dim inFile As String = Path.Combine(LEAD_VARS.MediaDir, "ConvertCtrl_Source.avi") Dim outFile As String = Path.Combine(LEAD_VARS.MediaDir, "ConvertCtrl_ProgressExample.MP4") ' reference the convert control Dim convertctrl As ConvertCtrl = _form.ConvertCtrl Try ' set the input and output files convertctrl.SourceFile = inFile convertctrl.TargetFile = outFile ' set the target format convertctrl.TargetFormat = TargetFormatType.MP4 ' select video and audio target formats for the output 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 Dim trgaudioformats As TargetAudioFormats = convertctrl.TargetFormats(convertctrl.TargetFormat).AudioFormats index = trgaudioformats.IndexOf("{00001610-0000-0010-8000-00AA00389B71}") ' AAC trgaudioformats.Selection = index ' set our progress event handler AddHandler convertctrl.Progress, AddressOf ConvertCtrl_Progress ' convert it now! convertctrl.StartConvert() Catch cex As COMException If cex.ErrorCode = CInt(ErrorCode.VFW_E_WRONG_STATE) Then Throw cex End If _result = False Catch e1 As Exception _result = False End Try ' 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 End Sub Public Sub ConvertCtrl_Progress(ByVal sender As Object, ByVal e As ProgressEventArgs) ' set the result to true if complete If e.percent = 100 Then _result = True End If 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 ProgressExample() { string inFile =Path.Combine(LEAD_VARS.MediaDir,"ConvertCtrl_Source.avi"); string outFile = Path.Combine(LEAD_VARS.MediaDir,"ConvertCtrl_ProgressExample.MP4"); // reference the convert control ConvertCtrl convertctrl = _form.ConvertCtrl; try { // set the input and output files convertctrl.SourceFile = inFile; convertctrl.TargetFile = outFile; // select the target format convertctrl.TargetFormat = TargetFormatType.MP4; // select video and audio target formats for the output int index = -1; TargetVideoFormats targetvideoformats = convertctrl.TargetFormats[convertctrl.TargetFormat].VideoFormats; index = targetvideoformats.IndexOf("{34363248-0000-0010-8000-00AA00389B71}");// H264 targetvideoformats.Selection = index; TargetAudioFormats targetaudioformats = convertctrl.TargetFormats[convertctrl.TargetFormat].AudioFormats; index = targetaudioformats.IndexOf("{00001610-0000-0010-8000-00AA00389B71}");// AAC targetaudioformats.Selection = index; // set our progress event handler convertctrl.Progress += new ProgressEventHandler(ConvertCtrl_Progress); // convert it now! convertctrl.StartConvert(); } catch (COMException cex) { if (cex.ErrorCode == (int)ErrorCode.VFW_E_WRONG_STATE) throw cex; _result = false; } catch (Exception) { _result = false; } // 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(); } public void ConvertCtrl_Progress(object sender, ProgressEventArgs e) { // set the result to true if complete if (e.percent == 100) _result = true; } static class LEAD_VARS { public const string MediaDir = @"C:\Program Files (x86)\LEAD Technologies\LEADTOOLS 18\Media"; }