Как одновременно вывести звук на два устройства?

Аудио устройства подключены к зеленому гнезду интегрированной звуковой карты.
Нужно одновременно вывести звук при помощи кода C#.

Какими методами и библиотеками пользоваться?
  • Вопрос задан
  • 262 просмотра
Решения вопроса 1
AlekseyNemiro
@AlekseyNemiro
full-stack developer
Если все устройства подключены к одному гнезду, то видимо достаточно просто воспроизвести звук, любым удобным способом.

new System.Media.SoundPlayer(@"c:\filename.wav").Play();

Более сложные вещи можно сделать, например, с помощью NAudio.

var searcher = new System.Management.ManagementObjectSearcher("SELECT * FROM Win32_SoundDevice");
var devices = searcher.Get();
foreach (var device in devices) 
{
  Console.WriteLine(device.GetPropertyValue("Caption").ToString());
}

// ...

var waveReader = new NAudio.Wave.WaveFileReader(fileName);
var waveOut = new NAudio.Wave.WaveOut();
waveOut.DeviceNumber = deviceNumber;

var output = new NAudio.Wave.DirectSoundOut();
output = waveOut;
output.Init(waveReader);
output.Play();
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
GavriKos
@GavriKos
Аудио устройства подключены к зеленому гнезду интегрированной звуковой карты.

С точки зрения драйвера это одно устройство. А именно - "зеленое гнездо". Все что дальше - не контролируется ОС.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы