LEADTOOLS Multimedia (Leadtools.MediaFoundation assembly)

IndexOf(TargetAudioType) Method

Show in webframe
Example 



The TargetAudioType item to locate in the IList.
Determines the index of a specific TargetAudioType item in the IList.
Syntax
'Declaration
 
Public Overloads Function IndexOf( _
   ByVal item As TargetAudioType _
) As Integer
'Usage
 
Dim instance As TargetAudioTypes
Dim item As TargetAudioType
Dim value As Integer
 
value = instance.IndexOf(item)
public int IndexOf( 
   TargetAudioType item
)
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
Copy Code  
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

      ' reset target audio types
           targetaudiotypes.Reset()

      ' 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");
      }

      // reset target audio types
      targetaudiotypes.Reset();

      // 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;
   }
}
Requirements

Target Platforms

See Also

Reference

TargetAudioTypes Class
TargetAudioTypes Members
Overload List

 

 


Products | Support | Contact Us | Copyright Notices
© 2006-2014 All Rights Reserved. LEAD Technologies, Inc.

Leadtools.MediaFoundation requires a Multimedia or Multimedia Suite license and unlock key. For more information, refer to: LEADTOOLS Toolkit Features