📅  最后修改于: 2023-12-03 15:29:46.842000             🧑  作者: Mango
在 C# 中,可以使用 Windows.Devices.Enumeration
命名空间来列出音频设备。
Windows.Devices.Enumeration
命名空间的引用:using System;
using Windows.Devices.Enumeration;
DeviceWatcher
实例,通过该实例监听音频设备的变化:DeviceWatcher deviceWatcher = null;
deviceWatcher = DeviceInformation.CreateWatcher(DeviceClass.AudioRender);
deviceWatcher.Added += DeviceAdded;
deviceWatcher.Removed += DeviceRemoved;
deviceWatcher.Updated += DeviceUpdated;
deviceWatcher.Start();
private void DeviceAdded(DeviceWatcher sender, DeviceInformation device)
{
Console.WriteLine("Device added: " + device.Name);
}
private void DeviceRemoved(DeviceWatcher sender, DeviceInformationUpdate deviceUpdate)
{
Console.WriteLine("Device removed: " + deviceUpdate.Id);
}
private void DeviceUpdated(DeviceWatcher sender, DeviceInformationUpdate deviceUpdate)
{
Console.WriteLine("Device updated: " + deviceUpdate.Id);
}
注意:以上代码仅会在控制台中输出设备变化的信息。您可以根据实际需求修改处理方法的代码。
DeviceInformationCollection devices = await DeviceInformation.FindAllAsync(DeviceClass.AudioRender);
foreach (var device in devices)
{
Console.WriteLine("Device name: " + device.Name);
Console.WriteLine("Device Id: " + device.Id);
}
此代码将遍历所有音频渲染设备,并输出它们的名称和 Id。
经过以上步骤,我们可以使用 Windows.Devices.Enumeration
命名空间来列出音频设备,并根据需要处理它们的变化。