Error processing SSI file
LEADTOOLS Multimedia (Leadtools.MediaFoundation assembly)

Show in webframe

FindFormat Method






The TargetFormat object to locate its audio properties in the audio types collection.
Determines the index of a specific TargetAudioType in the collection based on the audio properties in the TargetFormat object.
Syntax
public int FindFormat( 
   TargetFormat format
)
'Declaration
 
Public Function FindFormat( _
   ByVal format As TargetFormat _
) As Integer
'Usage
 
Dim instance As TargetAudioTypes
Dim format As TargetFormat
Dim value As Integer
 
value = instance.FindFormat(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
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

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

Target Platforms

See Also

Reference

TargetAudioTypes Class
TargetAudioTypes Members

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