C# 使用NAudio在特定频道播放声音
我用NAudio做音响工作。我有具体的任务。我有8声道的声卡。如何仅在1个、2个或更多特定频道中播放声音。例如,我有以下代码:C# 使用NAudio在特定频道播放声音,c#,.net,audio,naudio,C#,.net,Audio,Naudio,我用NAudio做音响工作。我有具体的任务。我有8声道的声卡。如何仅在1个、2个或更多特定频道中播放声音。例如,我有以下代码: Device = new WaveOut(); var provider = new SineWaveProvider32(); provider.SetWaveFormat(44100, 1); provider.Frequency = 10
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();
此代码在所有频道上播放声音。
在这方面我需要改变什么?您可以使用一个
MultiplexingWaveProvider
并为一个通道传递一个静音产生波提供程序,为另一个通道传递一个正弦波提供程序32
另请注意,声卡可能不一定通过WaveOut API支持多声道音频。您可以使用
MultiplexingWaveProvider
,并为一个声道传入静音生成波形提供程序,为另一个声道传入正弦波提供程序32
另外请注意,您的声卡可能不一定通过WaveOut API支持多声道音频。非常感谢,@MarkHeath非常感谢,@MarkHeath