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);
}
Blackmagic Decklink devices
Decklink video sources
var decklinkVideoSources = await DeviceEnumerator.Shared.DecklinkVideoSourcesAsync();
foreach (var device in decklinkVideoSources)
{
Debug.WriteLine(device.Name);
}
Decklink audio sources
var decklinkAudioSources = await DeviceEnumerator.Shared.DecklinkAudioSourcesAsync();
foreach (var device in decklinkAudioSources)
{
Debug.WriteLine(device.Name);
}
Decklink video outputs
var decklinkVideoOutputs = await DeviceEnumerator.Shared.DecklinkVideoSinksAsync();
foreach (var device in decklinkVideoOutputs)
{
Debug.WriteLine(device.Name);
}
Decklink audio outputs
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);
}