同时向扬声器和耳机输出音频?

Posted

技术标签:

【中文标题】同时向扬声器和耳机输出音频?【英文标题】:Output audio to speaker and headset at the same time? 【发布时间】:2017-06-15 08:07:27 【问题描述】:

我正在使用 NAudio 将音频文件输出到 windows 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 耳机,那么您将拥有两个声卡,并且应该能够分别通过每个声卡播放不同的声音。

【讨论】:

以上是关于同时向扬声器和耳机输出音频?的主要内容,如果未能解决你的问题,请参考以下文章

如何从电话、电话扬声器、耳机或蓝牙设备切换音频输出

如何获取可用输出音频源列表(扬声器、耳机、蓝牙)

如何监控设备的音频输出以判断声音是不是来自扬声器/耳机插孔?

强制向扬声器发出音频警报

插入耳机时强制音频到扬声器?

电脑显示未插入扬声器和耳机?