Perform the following steps to create and run a multimedia conversion application with processors using the LEADTOOLS Multimedia ConvertCtrl control.
Start Visual Studio.
Choose File->New->Project... from the main menu.
In the New Project dialog box, choose either "Visual C# Projects" or "VB Projects" in the Projects Type List, and select "Windows Forms Application" in the Templates List.
Type the project name as Multimedia Conversion with Processors in the Project Name field, and if desired, type a new location for your project or navigate to a directory using the Browse button, and then click OK.
In the Solution Explorer window, right-click the References folder, and select Add Reference... from the context menu. In the Add Reference dialog box, select the .NET tab and select Leadtools.Multimedia and click OK. If this DLL does not appear under the .NET tab, click the Browse tab and navigate to the "<LEADTOOLS_INSTALLDIR>\Bin\Dotnet4\Win32" folder, and select the following DLL:
With the DLL selected, click OK to add the DLL to the application.
Make sure Form1 is in design view. Go to the toolbox (View->Toolbox) and drag a ConvertCtrl control onto the form.
NOTE: If you do not have the ConvertCtrl in your toolbox, open the main menu and choose Tools->Choose Toolbox Items from the menu. Click the Browse tab and navigate to the "<LEADTOOLS_INSTALLDIR>\Bin\Dotnet4\Win32" folder and select Leadtools.Multimedia.dll and click OK. After adding it to the form, set the following properties on the convert control:
Property | Value |
---|---|
Name | _convertctrl |
Anchor | Top, Bottom, Left, Right |
BackColor | Black |
Go to the toolbox (View->Toolbox) and drag a ProgressBar control onto the form (below the ConvertCtrl) and set the following properties:
Property | Value |
---|---|
Name | _progress |
Anchor | Bottom, Left, Right |
Step | 1 |
Go to the toolbox (View->Toolbox) and drag two Button controls to the bottom of the form and set the following properties:
Property | Value |
---|---|
Name | _buttonProcessor |
Text | Processor... |
Anchor | Bottom, Right |
Switch Form1 to code view (right-click Form1 in the Solution Explorer then choose View Code) and add the following lines to the beginning of the file:
Imports Leadtools.Multimedia
using Leadtools.Multimedia;
Private _sourceFile As String
Private _targetFile As String
Private _addedProc As Boolean
private string _sourceFile;
private string _targetFile;
private bool _addedProc;
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
_sourceFile = @"<LEADTOOLS_INSTALLDIR>\Media\DaDa_DVD_MPEG2.mpg"
_targetFile = "DaDa_MJPEG_Deinterlaced.avi"
_addedProc = False
End Sub
private void Form1_Load(object sender, System.EventArgs e)
{
_sourceFile = @"<LEADTOOLS_INSTALLDIR>\Media\DaDa_DVD_MPEG2.mpg";
_targetFile = "DaDa_MJPEG_Deinterlaced.avi";
_addedProc = false;
}
Private Sub _convertctrl_Progress(ByVal sender As System.Object, ByVal e As ProgressEventArgs) Handles _convertctrl.Progress
_progress.Value = CInt((_progress.Maximum * e.percent / 100))
End Sub
private void _convertctrl_Progress(object sender, ProgressEventArgs e)
{
_progress.Value = (int)(_progress.Maximum * e.percent / 100);
}
Private Sub _convertctrl_Complete(ByVal sender As System.Object, ByVal e As EventArgs) Handles _convertctrl.Complete
MessageBox.Show("Conversion Complete")
_buttonProcessor.Enabled = True
_buttonConvert.Enabled = True
End Sub
private void _convertctrl_Complete(object sender, EventArgs e)
{
MessageBox.Show("Conversion Complete");
_buttonProcessor.Enabled = true;
_buttonConvert.Enabled = true;
}
Private Sub _buttonProcessor_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles _buttonProcessor.Click
Try
Dim deinterlace As Processor = _convertctrl.VideoProcessors.Deinterlace
Dim procName As String = deinterlace.Name
If (_addedProc = False) Then
_convertctrl.SelectedVideoProcessors.Add(deinterlace)
_addedProc = True
End If
If (_convertctrl.SelectedVideoProcessors[procName].HasDialog(ProcessorDlg.Properties)) Then
_convertctrl.SelectedVideoProcessors[procName].ShowDialog(ProcessorDlg.Properties, this)
End If
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
private void _buttonProcessor_Click(object sender, System.EventArgs e)
{
try
{
Processor deinterlace = _convertctrl.VideoProcessors.Deinterlace;
string procName = deinterlace.Name;
if (!_addedProc)
{
_convertctrl.SelectedVideoProcessors.Add(deinterlace);
_addedProc = true;
}
if (_convertctrl.SelectedVideoProcessors[procName].HasDialog(ProcessorDlg.Properties))
{
_convertctrl.SelectedVideoProcessors[procName].ShowDialog(ProcessorDlg.Properties, this);
}
catch (Exception ex)
{
MessageBox.Show(this, ex.Message);
}
}
Private Sub _buttonConvert_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles _buttonConvert.Click
Try
_convertctrl.Preview = True
_convertctrl.SourceFile = _sourceFile
_convertctrl.VideoCompressors.MJpeg.Selected = True
_convertctrl.TargetFile = _targetFile
_convertctrl.StartConvert()
_buttonProcessor.Enabled = False
_buttonConvert.Enabled = False
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
private void _buttonConvert_Click(object sender, System.EventArgs e)
{
try
{
_convertctrl.Preview = true;
_convertctrl.SourceFile = _sourceFile;
_convertctrl.VideoCompressors.MJpeg.Selected = true;
_convertctrl.TargetFile = _targetFile;
_convertctrl.StartConvert();
_buttonProcessor.Enabled = false;
_buttonConvert.Enabled = false;
}
catch (Exception ex)
{
MessageBox.Show(this, ex.Message);
}
}