LEADTOOLS Multimedia (Leadtools.Multimedia assembly) Send comments on this topic. | Back to Introduction | Help Version 17.0.3.22
AudioCaptureFormats Property
See Also 
Leadtools.Multimedia Namespace > CaptureCtrl Class : AudioCaptureFormats Property



Gets the AudioFormats object that contains all the audio formats available for the current capture device.

Syntax

Visual Basic (Declaration) 
Public Overridable ReadOnly Property AudioCaptureFormats As AudioFormats
Visual Basic (Usage)Copy Code
Dim instance As CaptureCtrl
Dim value As AudioFormats
 
value = instance.AudioCaptureFormats
C# 
public virtual AudioFormats AudioCaptureFormats {get;}
C++/CLI 
public:
virtual property AudioFormats^ AudioCaptureFormats {
   AudioFormats^ get();
}

Property Value

An AudioFormats object.

Example

Visual BasicCopy Code
Public _form As CaptureCtrlForm = New CaptureCtrlForm()
Public _result As Boolean = False
Public Sub AudioFormatExample()
  Try
     Dim count As Integer, freq As Integer = 0, bits As Integer = 0, channels As Integer = 0
     Dim found As Integer, selected As Integer = -1

     ' reference the capture control
     Dim capturectrl As CaptureCtrl = _form.CaptureCtrl

     ' set an audio device, use the name of your device here
     If capturectrl.AudioDevices("USB") Is Nothing Then
       Throw New Exception("No USB audio device available")
     End If

     capturectrl.AudioDevices("USB").Selected = True

     ' get count of available audio formats
     count = capturectrl.AudioCaptureFormats.Count

     ' reset the current selection to -1
     capturectrl.AudioCaptureFormats.Reset()

     ' reference the audioformats property
     Dim audioformats As AudioFormats = capturectrl.AudioCaptureFormats

     ' enumerate formats and select one
     For Each af As AudioFormat In audioformats
       freq = af.SampleFrequency
       bits = af.BitsPerSample
       channels = af.Channels

       ' select the format if it matches some criteria
       If freq = 8000 AndAlso bits = 16 AndAlso channels = 2 Then
         af.Selected = True
         Exit For
       End If
     Next af

     ' get the currently selected format
     selected = audioformats.Selection

     ' find a format based on frequency, bits/channel and number of channels
     found = audioformats.IndexOf(8000, 8, 2)

     ' our found format is not selected, so select it
     If found <> selected Then
       audioformats.Selection = found
     End If

     ' get the new selected format
     selected = audioformats.Selection

     ' set our result based on what we expect
     _result = (count > 0 AndAlso selected = found)
  Catch e1 As Exception
     _result = False
  End Try
End Sub
C#Copy Code
public CaptureCtrlForm _form = new CaptureCtrlForm();
public bool _result = false;
public void AudioFormatExample()
{
   try
   {
      int count, freq = 0, bits = 0, channels = 0;
      int found, selected = -1;

      // reference the capture control
      CaptureCtrl capturectrl = _form.CaptureCtrl;

      // set an audio device, use the name of your device here
      if (capturectrl.AudioDevices["USB"] == null)
         throw new Exception("No USB audio device available");

      capturectrl.AudioDevices["USB"].Selected = true;

      // get count of available audio formats
      count = capturectrl.AudioCaptureFormats.Count;

      // reset the current selection to -1
      capturectrl.AudioCaptureFormats.Reset();

      // reference the audioformats property
      AudioFormats audioformats = capturectrl.AudioCaptureFormats;

      // enumerate formats and select one
      foreach (AudioFormat af in audioformats)
      {
         freq = af.SampleFrequency;
         bits = af.BitsPerSample;
         channels = af.Channels;

         // select the format if it matches some criteria
         if (freq == 8000 && bits == 16 && channels == 2)
         {
            af.Selected = true;
            break;
         }
      }

      // get the currently selected format
      selected = audioformats.Selection;

      // find a format based on frequency, bits/channel and number of channels
      found = audioformats.IndexOf(8000, 8, 2);

      // our found format is not selected, so select it
      if (found != selected)
         audioformats.Selection = found;

      // get the new selected format
      selected = audioformats.Selection;

      // set our result based on what we expect
      _result = (count > 0 && selected == found);
   }
   catch (Exception)
   {
      _result = false;
   }
}

Remarks

The AudioFormats collection contains an AudioFormat object for each of the supported audio formats. The properties of each AudioFormat object include the BitsPerSample, Channels, and the SampleFrequency.

Requirements

Target Platforms: Microsoft .NET Framework 2.0, Windows 2000, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7

See Also