2017-06-15 1 views
1

J'utilise NAudio pour produire des fichiers audio à la fois sur le haut-parleur et sur un casque d'écoute sur un ordinateur portatif. J'ai créé deux WaveOut et attribué le numéro de périphérique correspondant. Mais je ne peux pas ici l'audio de l'orateur lorsque le casque est branché. Quelqu'un peut-il me dire comment résoudre ce problème? Voici mon code (il fonctionne bien sur le casque ou le haut-parleur séparément, mais je veux entendre le son de tous les deux en même temps):Sortie audio à haut-parleur et casque en même temps?

 var input1 = new Mp3FileReader(PATH + "left.mp3"); 
     var input2 = new Mp3FileReader(PATH + "right.mp3"); 
     var waveProvider = new MultiplexingWaveProvider(new IWaveProvider[] { input1, input2 }, 2); 

     var input3 = new Mp3FileReader(PATH + "left.mp3"); 

     int channel = ((Mp3FileReader)input1).Mp3WaveFormat.Channels; 
     Debug.WriteLine(channel); 

     waveProvider.ConnectInputToOutput(0, 0); 
     waveProvider.ConnectInputToOutput(3, 1); 

     WaveOut wave = new WaveOut(); 
     wave.DeviceNumber = 1; 
     wave.Init(waveProvider); 

     WaveOut wave1 = new WaveOut(); 
     wave1.DeviceNumber = 0; 
     wave1.Init(input3); 

     wave.Play(); 
     wave1.Play(); 

Répondre

1

Je pense que la question est que vous n'avez pas Deux cartes son, vous avez une carte son qui passe entre la lecture du son des haut-parleurs et des écouteurs. Si vous avez acheté un casque USB, vous auriez deux cartes son, et vous devriez pouvoir jouer des sons différents à travers chacun d'eux séparément.