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



Gets the duration of the media, in seconds.

Syntax

Visual Basic (Declaration) 
Public Overridable ReadOnly Property Duration As Double
Visual Basic (Usage)Copy Code
Dim instance As ConvertCtrl
Dim value As Double
 
value = instance.Duration
C# 
public virtual double Duration {get;}
C++/CLI 
public:
virtual property double Duration {
   double get();
}

Property Value

A value representing the duration, in seconds.

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

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