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 18\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 18\Media";
}