Я хочу воспроизводить звук на трех внешних звуковых картах одновременно. Я имею в виду, что, нажимая кнопку, я слышу звук из трех динамиков, связанных с моими тремя звуковыми картами.У меня есть функция, но она воспроизводит звук только на одном устройстве, первое, которое находит, я имею в виду, что в этом коде первое устройство имеет номер 0, поэтому оно воспроизводит звук в нем, но если вы сначала напишите устройство с номером 1, оно будетВоспроизвести звук в нем, в качестве заключения, он воспроизводит звук только на одном устройстве, он не работает для всех устройств одновременно.Это его код:
public void playAllAvailableDevices()
{
//create a new class for each wav file & output etc.
WaveOut waveOut1 = new WaveOut();
WaveFileReader waveReader1 = new WaveFileReader(fileName);
WaveOut waveOut2 = new WaveOut();
WaveFileReader waveReader2 = new WaveFileReader(fileName);
WaveOut waveOut3 = new WaveOut();
WaveFileReader waveReader3 = new WaveFileReader(fileName);
switch (waveOutDevices)
{
case 1:
waveOut1.Init(waveReader1);
waveOut1.DeviceNumber = 0;
waveOut1.Play();
break;
case 2:
waveOut1.Init(waveReader1);
waveOut1.DeviceNumber = 0;
waveOut1.Play();
waveOut2.Init(waveReader2);
waveOut2.DeviceNumber = 1;
waveOut2.Play();
break;
case 3:
waveOut1.Init(waveReader1);
waveOut1.DeviceNumber = 0;
waveOut1.Play();
waveOut2.Init(waveReader2);
waveOut2.DeviceNumber = 1;
waveOut2.Play();
waveOut3.Init(waveReader3);
waveOut3.DeviceNumber = 2;
waveOut3.Play();
break;
}}
fileName - это имя звукового файла, который я хочу воспроизвести, в моем коде я получаю это имя из базы данных:
private void btnAlarm1_Click(object sender, EventArgs e)
{
OdbcConnection cn = new OdbcConnection("DSN=cp1");
cn.Open();
OdbcCommand cmd1 = new OdbcCommand("select chemin from alarme where code_alarme=41", cn);
cmd1.Connection = cn;
fileName = cmd1.ExecuteScalar().ToString();
wave = new WaveOut();
playAllAvailableDevices();
}
Можете ли вы помочьмне найти решение пожалуйста ????Заранее спасибо.Добрый день.