同时输出音频到扬声器和耳机?
Output audio to speaker and headset at the same time?
我正在使用 NAudio 将音频文件输出到 window 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();
我认为问题在于您没有两张声卡,只有一张声卡在从扬声器和耳机播放声音之间切换。如果您购买了 USB 耳机,那么您将拥有两个声卡,并且应该能够分别通过每个声卡播放不同的声音。
我正在使用 NAudio 将音频文件输出到 window 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();
我认为问题在于您没有两张声卡,只有一张声卡在从扬声器和耳机播放声音之间切换。如果您购买了 USB 耳机,那么您将拥有两个声卡,并且应该能够分别通过每个声卡播放不同的声音。