Imports Leadtools
Imports Leadtools.MediaFoundation
Imports LeadtoolsMediaFoundationExamples.Fixtures
Public _result As Boolean = False
Public _form As New CaptureCtrlForm()
Public Sub HasDialogExample()
    ' reference the capture control
    Dim capturectrl As CaptureCtrl = _form.CaptureCtrl
    ' output file for capture
    Dim outFile As String = Path.Combine(LEAD_VARS.MediaDir, "CaptureCtrl_HasDialogExample.avi")
    Try
        ' try to find a USB camera
        If capturectrl.VideoDevices("USB") Is Nothing Then
            Throw New Exception("No USB video device available")
        End If
        capturectrl.VideoDevices("USB").Selected = True
        ' try to find a USB audio device
        If capturectrl.AudioDevices("USB") Is Nothing Then
            Throw New Exception("No USB audio device available")
        End If
        capturectrl.AudioDevices("USB").Selected = True
        ' set the target output format
        capturectrl.TargetFormat = TargetFormatType.MP4
        ' The HasDialog method tells us that the control
        ' can display the desired settings dialog.
        ' check to see if the Target Format properties dialog is available
        If capturectrl.HasDialog(CaptureDlg.TargetFormat) Then
            ' now show it to change some settings
            capturectrl.ShowDialog(CaptureDlg.TargetFormat, _form)
            _result = True
        End If
        ' set the target output file and format
        capturectrl.TargetFile = outFile
        ' check if we have can capture video and audio
        If capturectrl.IsModeAvailable(CaptureMode.VideoAndAudio) Then
            capturectrl.FrameRate = 5
            ' 5 frames per second 
            capturectrl.UseFrameRate = True
            capturectrl.TimeLimit = 10
            ' just 10 seconds of capture time
            capturectrl.UseTimeLimit = True
            ' start the capture process
            capturectrl.StartCapture(CaptureMode.VideoAndAudio)
            ' 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 capturectrl.State = CaptureState.Running
                Application.DoEvents()
            End While
        End If
    Catch generatedExceptionName As Exception
        _result = False
    End Try
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 CaptureCtrlForm _form = new CaptureCtrlForm();
public void HasDialogExample()
{
   // reference the capture control
   CaptureCtrl capturectrl = _form.CaptureCtrl;
   // output file for capture
   string outFile = Path.Combine(LEAD_VARS.MediaDir,"CaptureCtrl_HasDialogExample.avi");
   try
   {
      // try to find a USB camera
      if (capturectrl.VideoDevices["USB"] == null)
         throw new Exception("No USB video device available");
      capturectrl.VideoDevices["USB"].Selected = true;
      // try to find a USB audio device
      if (capturectrl.AudioDevices["USB"] == null)
         throw new Exception("No USB audio device available");
      capturectrl.AudioDevices["USB"].Selected = true;
      // set the target output format
      capturectrl.TargetFormat = TargetFormatType.MP4;
      // The HasDialog method tells us that the control
      // can display the desired settings dialog.
      // check to see if the Target Format properties dialog is available
      if (capturectrl.HasDialog(CaptureDlg.TargetFormat))
      {
         // now show it to change some settings
         capturectrl.ShowDialog(CaptureDlg.TargetFormat, _form);
         _result = true;
      }
      // set the target output file and format
      capturectrl.TargetFile = outFile;
      // check if we have can capture video and audio
      if (capturectrl.IsModeAvailable(CaptureMode.VideoAndAudio))
      {
         capturectrl.FrameRate = 5;       // 5 frames per second 
         capturectrl.UseFrameRate = true;
         capturectrl.TimeLimit = 10;      // just 10 seconds of capture time
         capturectrl.UseTimeLimit = true;
         // start the capture process
         capturectrl.StartCapture(CaptureMode.VideoAndAudio);
         // 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 (capturectrl.State == CaptureState.Running)
            Application.DoEvents();
      }
   }
   catch (Exception)
   {
      _result = false;
   }
}
static class LEAD_VARS
{
public const string MediaDir = @"C:\Program Files (x86)\LEAD Technologies\LEADTOOLS 18\Media";
}