我有多个音频输入
- 1 WaveProvider 来自文件
- 1 个来自 SpeechSynthesizer 的 WaveProvider
我想将这些 WaveProvider 转发到多个音频输出 WaveOut(到多个 DeviceNumber)。
但我有3个问题:
- 有些 WaveOut 似乎是错误的并且永远挂起
- WaveOut.Play() 似乎是同步的
- 如果我把它们放在任务中,第一个任务开始在设备上播放,那么它会被另一个设备上的另一个任务打断
有人有正常工作的示例代码吗?
这是一个不适用于 2 个任务的示例:
Buffer = new BufferedWaveProvider(new WaveFormat(44100, 16, 2));
WaveOut = new WaveOut();
WaveOut.DeviceNumber = device;
WaveOut.Init(Buffer);
...
Buffer.AddSamples(bytes, 0, bytes.Length);
WaveOut.Play();
我没有找到使用所有 WaveOut 的示例。根据 NAudio 作者的说法,我不应该使用任务,但我不知道如何在魔术混音器类中设置多个输出和输入?
问候