Imports Leadtools
Imports Leadtools.MediaFoundation
Imports LeadtoolsMediaFoundationExamples.Fixtures
Public _result As Boolean = False
Public _form As New CaptureCtrlForm()
Public Sub IsModeAvailableExample()
    ' reference the capture control
    Dim capturectrl As CaptureCtrl = _form.CaptureCtrl
    ' output file for processor settings
    Dim outFile As String = Path.Combine(LEAD_VARS.MediaDir, "CaptureCtrl_IsModeAvailableExample.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 file
        capturectrl.TargetFile = outFile
        ' set the target output format
        capturectrl.TargetFormat = TargetFormatType.MP4
        ' check if we have can capture video
        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
            ' subscribe to the complete event
            AddHandler capturectrl.Complete, AddressOf CaptureCtrl_Complete
            ' 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
Private Sub CaptureCtrl_Complete(ByVal sender As Object, ByVal e As EventArgs)
    _result = True
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 IsModeAvailableExample()
{
   // reference the capture control
   CaptureCtrl capturectrl = _form.CaptureCtrl;
   // output file for processor settings
   string outFile = Path.Combine(LEAD_VARS.MediaDir,"CaptureCtrl_IsModeAvailableExample.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 file
      capturectrl.TargetFile = outFile;
      // set the target output format
      capturectrl.TargetFormat = TargetFormatType.MP4;
      // check if we have can capture video
      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;
         // subscribe to the complete event
         capturectrl.Complete += new EventHandler(CaptureCtrl_Complete);
         // 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;
   }
}
void CaptureCtrl_Complete(object sender, EventArgs e)
{
   _result = true;
}
static class LEAD_VARS
{
public const string MediaDir = @"C:\Program Files (x86)\LEAD Technologies\LEADTOOLS 18\Media";
}