我正在使用NAudio进行声音工作。我有特定的任务。我有8声道声卡。如何仅在1,2或更多特定通道中播放声音。例如,我有这段代码:
Device = new WaveOut();
var provider = new SineWaveProvider32();
provider.SetWaveFormat(44100, 1);
provider.Frequency = 1000f;
provider.Amplitude = 1f;
Device.DeviceNumber = number;
Device.Init(provider);
Device.Play();
此代码在所有频道播放声音。 我需要改变什么?
答案 0 :(得分:4)
您可以使用MultiplexingWaveProvider
并为一个频道传入静音产生波提供者,为另一个频道传入SineWaveProvider32。
另请注意,您的声卡可能不一定通过WaveOut API支持多声道音频。