public virtual ConvertState State { get; }
public:
virtual property ConvertState State {
ConvertState get();
}
A ConvertState enumeration value indicating the current control state.
The value is one of the ConvertState enumeration values.
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";
}
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