我想做这样的事情:
两张立体声卡,我想完全有选择地播放音乐,这意味着 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。