Imports Leadtools
Imports Leadtools.MediaFoundation
Imports LeadtoolsMediaFoundationExamples.Fixtures
Public _result As Boolean = False
Public _form As PlayCtrlForm = New PlayCtrlForm()
Public Sub ProcessorsExample()
' reference the convert control
Dim playctrl As PlayCtrl = _form.PlayCtrl
' input and output files
Dim inFile As String = Path.Combine(LEAD_VARS.MediaDir, "ConvertCtrl_Source.avi")
Try
' disable auto start
playctrl.AutoStart = False
' set the event handler for state changes
AddHandler playctrl.StateChanged, AddressOf PlayCtrl_StateChanged
' set source file
playctrl.SourceFile = inFile
' if we have a video stream
If (playctrl.AllowedStreams And StreamFormatType.Video) = StreamFormatType.Video Then
' add the first video processor for playback
playctrl.SelectedVideoProcessors.Add(playctrl.VideoProcessors(0))
Dim vproc As Processor = playctrl.SelectedVideoProcessors(0)
' set the video processor properties
If vproc.HasDialog(ProcessorDlg.Properties) Then
vproc.ShowDialog(ProcessorDlg.Properties, _form)
End If
End If
' if we have an audio stream
If (playctrl.AllowedStreams And StreamFormatType.Audio) = StreamFormatType.Audio Then
' add the first audio processor for playback
playctrl.SelectedAudioProcessors.Add(playctrl.AudioProcessors(0))
Dim aproc As Processor = playctrl.SelectedAudioProcessors(0)
' set the audio processor properties
If aproc.HasDialog(ProcessorDlg.Properties) Then
aproc.ShowDialog(ProcessorDlg.Properties, _form)
End If
End If
' start the playback now
playctrl.Run()
' 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 playctrl.State = PlayState.Running
Application.DoEvents()
Loop
Catch e1 As Exception
_result = False
End Try
End Sub
Private Sub PlayCtrl_StateChanged(ByVal sender As Object, ByVal e As StateChangedEventArgs)
' set the result to what we expect
_result = (e.lastState = PlayState.Running AndAlso e.state = PlayState.Stopped)
End Sub
Public NotInheritable Class LEAD_VARS
Public Const MediaDir As String = "C:\Program Files (x86)\LEAD Technologies\LEADTOOLS 19\Media"
End Class
using Leadtools;
using Leadtools.MediaFoundation;
using LeadtoolsMediaFoundationExamples.Fixtures;
public bool _result = false;
public PlayCtrlForm _form = new PlayCtrlForm();
public void ProcessorsExample()
{
// reference the convert control
PlayCtrl playctrl = _form.PlayCtrl;
// input and output files
string inFile = Path.Combine(LEAD_VARS.MediaDir,"ConvertCtrl_Source.avi");
try
{
// disable auto start
playctrl.AutoStart = false;
// set the event handler for state changes
playctrl.StateChanged += new StateChangedEventHandler(PlayCtrl_StateChanged);
// set source file
playctrl.SourceFile = inFile;
// if we have a video stream
if ((playctrl.AllowedStreams & StreamFormatType.Video) == StreamFormatType.Video)
{
// add the first video processor for playback
playctrl.SelectedVideoProcessors.Add(playctrl.VideoProcessors[0]);
Processor vproc = playctrl.SelectedVideoProcessors[0];
// set the video processor properties
if (vproc.HasDialog(ProcessorDlg.Properties))
vproc.ShowDialog(ProcessorDlg.Properties, _form);
}
// if we have an audio stream
if ((playctrl.AllowedStreams & StreamFormatType.Audio) == StreamFormatType.Audio)
{
// add the first audio processor for playback
playctrl.SelectedAudioProcessors.Add(playctrl.AudioProcessors[0]);
Processor aproc = playctrl.SelectedAudioProcessors[0];
// set the audio processor properties
if (aproc.HasDialog(ProcessorDlg.Properties))
aproc.ShowDialog(ProcessorDlg.Properties, _form);
}
// start the playback now
playctrl.Run();
// 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 (playctrl.State == PlayState.Running)
Application.DoEvents();
}
catch (Exception)
{
_result = false;
}
}
void PlayCtrl_StateChanged(object sender, StateChangedEventArgs e)
{
// set the result to what we expect
_result = (e.lastState == PlayState.Running && e.state == PlayState.Stopped);
}
static class LEAD_VARS
{
public const string MediaDir = @"C:\Program Files (x86)\LEAD Technologies\LEADTOOLS 19\Media";
}