AudioDevices Property

Summary
Gets the audio device collection object.
Syntax
C#
C++/CLI
[EditorAttribute(System.Type, System.Type)] 
public virtual AudioDevices AudioDevices { get; } 
public: 
virtual property AudioDevices^ AudioDevices { 
   AudioDevices^ get(); 
} 

Property Value

An AudioDevices collection object.

Remarks

The AudioDevices object is used to enumerate the available audio capture devices, and to select an audio device to capture.

Example
C#
using Leadtools; 
using Leadtools.MediaFoundation; 
using LeadtoolsMediaFoundationExamples.Fixtures; 
 
 
public bool _result = false; 
public CaptureCtrlForm _form = new CaptureCtrlForm(false); 
public CaptureCtrl _capturectrl; 
public TestCtrlSubForm _csbform; 
 
public void DevicesExample() 
{ 
   // reference the capture control 
   _capturectrl = _form.CaptureCtrl; 
 
   // input file 
   string outFile = Path.Combine(LEAD_VARS.MediaDir, "CaptureCtrl_Source.avi"); 
 
   try 
   { 
      // create the sub form for devices listbox 
      _csbform = new TestCtrlSubForm(); 
 
      _csbform.Load += new EventHandler(Form_Load); 
      _csbform.buttonRefresh.Click += new EventHandler(Refresh_Click); 
      _csbform.List.Click += new EventHandler(List_Click); 
 
      // show the devices form 
      _csbform.ShowDialog(); 
 
      // get the selected device index 
      int selectedRenderer = _capturectrl.AudioDevices.Selection; 
 
      // set the result to what we expect  
      _result = (_csbform.List.SelectedItem != null && _capturectrl.AudioDevices.Selection != -1); 
   } 
   catch (Exception) 
   { 
      _result = false; 
   } 
} 
 
void Form_Load(object sender, EventArgs e) 
{ 
   //  build the audio device list 
   EnumerateDevices(_capturectrl.AudioDevices, _csbform.List); 
} 
 
void List_Click(object sender, EventArgs e) 
{ 
   //  select the audio device 
   SelectRenderer(_capturectrl.AudioDevices, _csbform.List); 
} 
 
void Refresh_Click(object sender, EventArgs e) 
{ 
   //  refresh audio devices 
   RefreshDevices(_capturectrl.AudioDevices, _csbform.List); 
} 
 
void EnumerateDevices(AudioDevices Devices, ListBox List) 
{ 
   //  Build the devices list box 
   int Selected = -1; 
 
   // empty the list box 
   List.Items.Clear(); 
 
   // add the available audio devices to the list box 
   for (int i = 0; (i <= (Devices.Count - 1)); i++) 
   { 
      List.Items.Add(Devices[i]); 
      if (Devices[i].Selected) 
      { 
         Selected = i; 
      } 
   } 
   //  highlight the current selection 
   List.SelectedIndex = Selected; 
} 
 
void RefreshDevices(AudioDevices Devices, ListBox List) 
{ 
   string SelectedName = string.Empty; 
 
   //  save the currently selected device's name 
   if (Devices.Selection >= 0) 
      SelectedName = Devices[Devices.Selection].FriendlyName; 
 
   //  refresh the device collection 
   Devices.Refresh(); 
 
   //  if there was a previously selected renderer, reselect it 
   if (SelectedName != string.Empty) 
      Devices.Selection = Devices.IndexOf(SelectedName); 
 
   //  rebuild the listbox 
   EnumerateDevices(Devices, List); 
} 
 
void SelectRenderer(AudioDevices Devices, ListBox List) 
{ 
   //  select the highlighted device 
   Devices.Selection = Devices.IndexOf(List.Items[List.SelectedIndex] as Device); 
} 
 
static class LEAD_VARS 
{ 
   public const string MediaDir = @"C:\LEADTOOLS23\Media"; 
} 
Requirements

Target Platforms

See Also

Reference

CaptureCtrl Class

CaptureCtrl Members

AudioDevices Property

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.