Imports Leadtools
Imports Leadtools.MediaFoundation
Imports LeadtoolsMediaFoundationExamples.Fixtures
Public _result As Boolean = False
Public _form As CaptureCtrlForm = New CaptureCtrlForm()
Public Sub IndexContainsExample()
   ' reference the capture control
   Dim capturectrl As CaptureCtrl = _form.CaptureCtrl
   Try
      ' set an audio device first, you should use your audio device name here
      If capturectrl.AudioDevices("USB") Is Nothing Then
         Throw New Exception("No USB audio device available")
      End If
      capturectrl.AudioDevices("USB").Selected = True
      ' reference the target formats object
      Dim formats As TargetFormats = capturectrl.TargetFormats
      ' reference the target format object
      Dim tf As TargetFormat = formats(TargetFormatType.MP4)
      ' reference the target audio formats object
      Dim taformats As TargetAudioFormats = tf.AudioFormats
      ' check the index using a name string
      Dim i As Integer = taformats.IndexOf("{00001610-0000-0010-8000-00AA00389B71}") ' AAC
      ' reference the target audio format object
      Dim taformat As TargetAudioFormat = taformats(i)
      ' select the target audio format
      taformat.Selected = True
      ' get target audio types collection
      Dim targetaudiotypes As TargetAudioTypes = taformat.AudioTypes
      ' get target audio types count
      If targetaudiotypes.Count <= 0 Then
         Throw New Exception("No audio types available for the selected audio format")
      End If
      ' set audio properties on the target format.
      tf.AudioAvgBytesPerSecond = 24000
      tf.AudioBitsPerSample = 16
      tf.AudioNumChannels = 1
      tf.AudioSamplesPerSecond = 48000
      ' find the index of the audio type which have the audio properties selected in the target format
      Dim nIndex As Integer = targetaudiotypes.FindFormat(tf)
      ' access the type via the collection indexer
      Dim tatype As TargetAudioType = targetaudiotypes(nIndex)
      ' check if the collection contains this type 
      ' (it should we just got it with IndexOf above)
      If targetaudiotypes.Contains(tatype) Then
         ' set the result to what we expect
         _result = True
      End If
   Catch e1 As Exception
      _result = False
   End Try
End Sub
             
   
     
            using Leadtools;
using Leadtools.MediaFoundation;
using LeadtoolsMediaFoundationExamples.Fixtures;
public bool _result = false;
public CaptureCtrlForm _form = new CaptureCtrlForm();
public void IndexContainsExample()
{
   // reference the capture control
   CaptureCtrl capturectrl = _form.CaptureCtrl;
   try
   {
      // set an audio device first, you should use your audio device name here
      if (capturectrl.AudioDevices["USB"] == null)
         throw new Exception("No USB audio device available");
      capturectrl.AudioDevices["USB"].Selected = true;
      // reference the target formats object
      TargetFormats formats = capturectrl.TargetFormats;
      // reference the target format object
      TargetFormat tf = formats[TargetFormatType.MP4];
      // reference the target audio formats object
      TargetAudioFormats taformats = tf.AudioFormats;
      // check the index using a name string
      int i = taformats.IndexOf("{00001610-0000-0010-8000-00AA00389B71}");// AAC
      // reference the target audio format object
      TargetAudioFormat taformat = taformats[i];
      // select the target audio format
      taformat.Selected = true;
      // get target audio types collection
      TargetAudioTypes targetaudiotypes = taformat.AudioTypes;
      // get target audio types count
      if (targetaudiotypes.Count <= 0)
      {
         throw new Exception("No audio types available for the selected audio format");
      }
      // set audio properties on the target format.
      tf.AudioAvgBytesPerSecond = 24000;
      tf.AudioBitsPerSample = 16;
      tf.AudioNumChannels = 1;
      tf.AudioSamplesPerSecond = 48000;
      // find the index of the audio type which have the audio properties selected in the target format
      int nIndex = targetaudiotypes.FindFormat(tf);
      // access the type via the collection indexer
      TargetAudioType tatype = targetaudiotypes[nIndex];
      // check if the collection contains this type 
      // (it should we just got it with IndexOf above)
      if (targetaudiotypes.Contains(tatype))
      {
         // set the result to what we expect
         _result = true;
      }
   }
   catch (Exception)
   {
      _result = false;
   }
}