2017-06-15 125 views
1

我使用NAudio将音频文件输出到扬声器和窗口10笔记本电脑上的耳机。我创建了两个WaveOut并分配了相应的设备编号。但是当耳机插入时,我不能在这里听到扬声器的音频。谁能让我知道如何解决这个问题?这里是我的代码(它适用于耳机或单独的扬声器很好,但我希望听到来自他们的声音在同一时间):同时向扬声器和耳机输出音频?

 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(); 

回答

1

我认为这个问题是,你不必两个声卡,您有一个声卡可以在播放扬声器和耳机之间切换。如果您购买了USB耳机,那么您将拥有两个声卡,并且应该能够分别通过每个声卡播放不同的声音。

相关问题