FindFormat Method

Summary
Determines the index of a specific TargetAudioType in the collection based on the audio properties in the TargetFormat object.
Syntax
C#
C++/CLI
public int FindFormat( 
   TargetFormat format 
) 
public: 
int FindFormat(  
   TargetFormat^ format 
)  

Parameters

format
The TargetFormat object to locate its audio properties in the audio types collection.

Return Value

The zero-based index of the found item; otherwise -1 if no item found.

Remarks

This method searches the underlying item collection to locate the item having the audio properties in the target format object specified. The audio properties are: AudioAvgBytesPerSecond, AudioBitsPerSample, AudioNumChannels and AudioSamplesPerSecond.

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

Target Platforms

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

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