public virtual double Duration { get; }
public:
virtual property double Duration {
double get();
}
A value representing the duration, in seconds.
using Leadtools;
using Leadtools.Multimedia;
using LeadtoolsMultimediaExamples.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;
// 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();
}
_result = true;
}
catch (Exception)
{
_result = false;
}
}
void ConvertCtrl_Progress(object sender, ProgressEventArgs e)
{
if (_convertctrl.PercentComplete > 30)
{
// set percentage scalar to 1
_convertctrl.PercentCompleteScalar = 1;
// 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:\LEADTOOLS23\Media";
}
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document