←Select platform

Selection Property

Summary

Gets or sets the index of the selected AudioFormat item.

Syntax

C#
VB
C++
public int Selection { get; set; } 
Public Property Selection As Integer 
public: 
property int Selection { 
   int get(); 
   void set (    int ); 
} 

Property Value

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

Remarks

Assigning a value to this property can raise an error exception. For more information, refer to the Error Codes.

Example

C#
VB
using Leadtools; 
using Leadtools.MediaFoundation; 
using LeadtoolsMediaFoundationExamples.Fixtures; 
 
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.Selection = -1; 
 
      // 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; 
   } 
} 
Imports Leadtools 
Imports Leadtools.MediaFoundation 
Imports LeadtoolsMediaFoundationExamples.Fixtures 
 
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.Selection = -1 
 
      ' 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 

Requirements

Target Platforms

Help Version 19.0.2017.10.27
Products | Support | Contact Us | Copyright Notices
© 1991-2017 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.MediaFoundation Assembly