0

我想做这样的事情:

两张立体声卡,我想完全有选择地播放音乐,这意味着 1.mp3 on 1 channel in 1 sound card and 1 channel on 2 sound card, 2.mp3 on 2 channel in 1 sound card and 3.mp3 na 2 channel in 2声卡。并及时改变。

我读到了那几个晚上,我认为最好的方法是使用 NAudio,但我尝试在这个范围内准备 hello world 应用程序,但我遇到了很大的问题。

这是我的代码:

        WaveOut waveOut1 = new WaveOut();
       

        
        var input2 = new Mp3FileReader(@"c:\sample2.mp3");
        var input1 = new Mp3FileReader(@"c:\sample3.mp3");
        
           var waveProvider = new MultiplexingWaveProvider(new IWaveProvider[] { input1, input2 }, 2);
           waveProvider.ConnectInputToOutput(0, 0);
          

        waveOut1.Init(waveProvider);
        waveOut1.Play();
        

如果我将 connectinput 更改为输出 args 0,1;1,0;0,0;1,1 我仍然会在每个通道上听到输入 nr 2(在两个声卡上检查)。

如果我直接播放这些 mp3 效果很好。

这是我的灵感: https ://markheath.net/post/handling-multi-channel-audio-in-naudio

有人能告诉我为什么这个脚本不能正常工作吗?

或者,也许您有更简单的解决方案来实现这一目标?也许对于Linux?

谢谢K。

4

0 回答 0