使用NAudio在特定频道播放声音

时间:2014-03-07 10:55:18

标签: c# .net audio naudio

我正在使用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();

此代码在所有频道播放声音。 我需要改变什么?

1 个答案:

答案 0 :(得分:4)

您可以使用MultiplexingWaveProvider并为一个频道传入静音产生波提供者,为另一个频道传入SineWaveProvider32。

另请注意,您的声卡可能不一定通过WaveOut API支持多声道音频。