Imports Leadtools
Imports Leadtools.MediaFoundation
Imports LeadtoolsMediaFoundationExamples.Fixtures
Public _form As PlayCtrlForm = New PlayCtrlForm()
Public _playctrl As PlayCtrl = Nothing
Public _result As Boolean = False
Private _inFile As String = Path.Combine(LEAD_VARS.MediaDir, "PlayCtrl_Source.avi")
Private _outFile As String = Path.Combine(LEAD_VARS.MediaDir, "PlayCtrl_SaveStillDIB.dib")
Public Sub SaveStillDIBExample()
   ' reference the play control
   _playctrl = _form.PlayCtrl
   Try
      ' set a timer on the form to make the still DIB
      _form.TestTimer.Interval = 5000
      AddHandler _form.TestTimer.Tick, AddressOf SaveStillDIB_Helper
      ' set the source and target files
      _playctrl.SourceFile = _inFile
      ' now start the test timer for the still DIB capture
      _form.TestTimer.Start()
   Catch e1 As Exception
      _result = False
   End Try
   ' 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
End Sub
Public Sub SaveStillDIB_Helper(ByVal sender As Object, ByVal e As EventArgs)
   ' cancel the timer
   _form.TestTimer.Stop()
   ' save the still DIB to a file
   _playctrl.SaveStillDIB(_outFile, -1)
   ' check for the capture file and set the result
   If File.Exists(Path.Combine(Directory.GetCurrentDirectory(), _outFile)) Then
      _result = True
   End If
   ' stop playback
   _playctrl.Stop()
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 PlayCtrlForm _form = new PlayCtrlForm();
public PlayCtrl _playctrl = null;
public bool _result = false;
string _inFile =Path.Combine(LEAD_VARS.MediaDir,"PlayCtrl_Source.avi");
string _outFile =Path.Combine(LEAD_VARS.MediaDir,"PlayCtrl_SaveStillDIB.dib");
public void SaveStillDIBExample()
{
   // reference the play control
   _playctrl = _form.PlayCtrl;
   try
   {
      // set a timer on the form to make the still DIB
      _form.TestTimer.Interval = 5000;
      _form.TestTimer.Tick += new EventHandler(SaveStillDIB_Helper);
      // set the source and target files
      _playctrl.SourceFile = _inFile;
      // now start the test timer for the still DIB capture
      _form.TestTimer.Start();
   }
   catch (Exception)
   {
      _result = false;
   }
   // 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();
}
public void SaveStillDIB_Helper(object sender, EventArgs e)
{
   // cancel the timer
   _form.TestTimer.Stop();
   // save the still DIB to a file
   _playctrl.SaveStillDIB(_outFile, -1);
   // check for the capture file and set the result
   if (File.Exists(Path.Combine(Directory.GetCurrentDirectory(), _outFile)))
      _result = true;
   // stop playback
   _playctrl.Stop();
}
static class LEAD_VARS
{
public const string MediaDir = @"C:\Program Files (x86)\LEAD Technologies\LEADTOOLS 18\Media";
}