IndexOf(TargetAudioType) Method

Summary
Determines the index of a specific TargetAudioType item in the IList.
Syntax
C#
VB
C++
public int IndexOf( 
   TargetAudioType item 
) 
Public Overloads Function IndexOf( _ 
   ByVal item As TargetAudioType _ 
) As Integer 
public: 
int IndexOf(  
   TargetAudioType^ item 
)  

Parameters

item
The TargetAudioType item to locate in the IList.

Return Value

System.Int32

Remarks

This method uses the Find method of the underlying item collection to locate the desired item.

Example
C#
VB
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; 
   } 
} 
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 
Requirements

Target Platforms

Help Version 21.0.2021.7.2
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2021 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.MediaFoundation Assembly
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2021 LEAD Technologies, Inc. All Rights Reserved.