[EditorAttribute(System.Type, System.Type)]
public virtual AudioDevices AudioDevices { get; }
public:
virtual property AudioDevices^ AudioDevices {
AudioDevices^ get();
}
An AudioDevices collection object.
The AudioDevices object is used to enumerate the available audio capture devices, and to select an audio device to capture.
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";
}
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document