所以我一直在探索NAudio lib。
但是,我不确定我是否遗漏了使用ASIO课程的内容。基本上我的要求如下:
所以在Code I中有类似的东西:
...
WaveFileReader source1 = new WaveFileReader( pathToMyFile1 );
WaveFileReader source2 = new WaveFileReader( pathToMyFile2 );
WaveFileReader source3 = new WaveFileReader( pathToMyFile3 );
...
WaveFileReader sourceN = new WaveFileReader( pathToMyFileN );
AsioOut out = new AsioOut();
...
/*Now init out...*/
...
out.Play();
...
/* now react on events, possibly within a multi-threaded enviroment*/
/* and concurrently send each of these sources to a dedicated channel*/
/* as required, (as stated, possibly even many at the same time) */
...
所以我的问题基本上是:
我可以使用现有的一个类实现这样的功能吗?或者我是否必须自己设计其中一个接口(ISampleProvider,IWaveProvider等,非常确定它会以某种方式在抽象级别上工作)?
感谢您对此有任何意见!
答案 0 :(得分:0)
MultiplexingWaveProvider
可以做一些接近你想要的事情。阅读它here。对于64通道工作,您可能会发现需要编写自己的微调代码,因为性能可能会成为一个问题。