Skip to main content

Device enumeration

SDK has the DeviceEnumerator class, which is used to enumerate video and audio devices.

The shared instance of the DeviceEnumerator class will be used to enumerate devices.

Video sources

var videoSources = await DeviceEnumerator.Shared.VideoSourcesAsync();;
foreach (var device in videoSources)
{
Debug.WriteLine(device.Name);
}

Audio sources

var audioSources = await DeviceEnumerator.Shared.AudioSourcesAsync();

foreach (var device in audioSources)
{
Debug.WriteLine(device.Name);
}

Audio outputs

var audioOutputs = await DeviceEnumerator.Shared.AudioOutputsAsync();

foreach (var device in audioOutputs)
{
Debug.WriteLine(device.Name);
}
var decklinkVideoSources = await DeviceEnumerator.Shared.DecklinkVideoSourcesAsync();
foreach (var device in decklinkVideoSources)
{
Debug.WriteLine(device.Name);
}
var decklinkAudioSources = await DeviceEnumerator.Shared.DecklinkAudioSourcesAsync();
foreach (var device in decklinkAudioSources)
{
Debug.WriteLine(device.Name);
}
var decklinkVideoOutputs = await DeviceEnumerator.Shared.DecklinkVideoSinksAsync();
foreach (var device in decklinkVideoOutputs)
{
Debug.WriteLine(device.Name);
}
var decklinkAudioOutputs = await DeviceEnumerator.Shared.DecklinkAudioSinksAsync();
foreach (var device in decklinkAudioOutputs)
{
Debug.WriteLine(device.Name);
}

NDI sources

var ndiSources = await DeviceEnumerator.Shared.NDISourcesAsync();
foreach (var device in ndiSources)
{
Debug.WriteLine(device.Name);
}

GigE Vision / USB3 Vision / GenICam sources

Basler cameras

var baslerCameras = await DeviceEnumerator.Shared.BaslerSourcesAsync();

foreach (var device in baslerCameras)
{
Debug.WriteLine(device.Name);
}

Allied Vision cameras

var alliedCameras = await DeviceEnumerator.Shared.AlliedVisionSources();

foreach (var device in alliedCameras)
{
Debug.WriteLine(device.Name);
}

Generic GenICam cameras

var genicamCameras = await DeviceEnumerator.Shared.GenICamSourcesAsync();

foreach (var device in genicamCameras)
{
Debug.WriteLine(device.Name);
}