Чтобы составить список аудиоустройств с помощью C#, вы можете использовать Core Audio API. Вот пример того, как этого можно добиться:
using System;
using System.Collections.Generic;
using NAudio.CoreAudioApi;
public class AudioDeviceManager
{
public List<string> GetAudioDevices()
{
List<string> audioDevices = new List<string>();
MMDeviceEnumerator enumerator = new MMDeviceEnumerator();
MMDeviceCollection devices = enumerator.EnumerateAudioEndPoints(DataFlow.All, DeviceState.Active);
foreach (MMDevice device in devices)
{
audioDevices.Add(device.FriendlyName);
}
return audioDevices;
}
}
public class Program
{
public static void Main()
{
AudioDeviceManager deviceManager = new AudioDeviceManager();
List<string> audioDevices = deviceManager.GetAudioDevices();
foreach (string deviceName in audioDevices)
{
Console.WriteLine(deviceName);
}
}
}
В этом примере мы используем библиотеку NAudio, которая предоставляет оболочку Core Audio API. Сначала мы создаем экземпляр класса MMDeviceEnumeratorдля перечисления конечных точек звука. Затем мы используем метод EnumerateAudioEndPointsдля получения всех активных аудиоустройств.
Для каждого устройства мы извлекаем понятное имя и добавляем его в список. Наконец, мы возвращаем список имен аудиоустройств.