PercentCompleteScalar Property

Summary
Gets or sets the scalar value by which to divide the current conversion completion percentage.
Syntax
C#
C++/CLI
public virtual int PercentCompleteScalar { get; set; } 
public: 
virtual property int PercentCompleteScalar { 
   int get(); 
   void set (    int ); 
} 

Property Value

A value representing the percentage complete as a scalar value.

Remarks

The programmer divides the PercentComplete property value by this property value to determine the actual percentage complete. For example, if the scalar value is 100 and the PercentComplete property equals 50, then the process is 50/100 complete (0.5 percent) instead of 50 percent. Likewise, if the scalar is 1 and the programmer gets a percent complete value of 50, then the percentage complete is 50/1, or 50 percent complete.

Example
C#
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; 
   _convertctrl.PercentCompleteScalar = 50; 
   // 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; 
      if(_convertctrl.SourceType != SourceObjectType.File) 
         throw new Exception("Incorrect Source Type"); 
 
      // 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 = _convertctrl.Duration / 4; 
         _convertctrl.SelectionEnd = _convertctrl.Duration * 3 / 4; 
 
         // 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 * _convertctrl.PercentCompleteScalar) 
   { 
      // get the percentage complete 
      _percent = _convertctrl.PercentComplete; 
 
      // pause the conversion to demonstrate pausing 
      _convertctrl.PauseConvert(); 
      _paused = true; 
 
      // don't trigger the event any more 
      _convertctrl.Progress -= new ProgressEventHandler(ConvertCtrl_Progress); 
   } 
} 
 
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:\LEADTOOLS23\Media"; 
} 
Requirements

Target Platforms

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

Leadtools.MediaFoundation Assembly
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.