如何使用Naudio分别控制耳机左右声道的音量

Posted

技术标签:

【中文标题】如何使用Naudio分别控制耳机左右声道的音量【英文标题】:How to control volume of left and right channel of a headset separately using Naudio 【发布时间】:2018-08-11 08:59:23 【问题描述】:

我正在做一个项目,我需要将两个音频文件发送到单独的(左和右)通道并分别控制每个通道的音量。我已经完成了第一个案例,但是第二个案例我没有得到任何东西。我将两个音频文件播放到不同频道的代码是:

var input1 = new Mp3FileReader(@"C:\Users\Public\Music\Kala.mp3");

var input2 = new Mp3FileReader(@"C:\Users\Public\Music.mp3"); 

MultiplexingWaveProvider waveProvider = new MultiplexingWaveProvider(new IWaveProvider[]  input1, input2 , 2);

waveProvider.ConnectInputToOutput(1, 0);

waveProvider.ConnectInputToOutput(3, 1);
WaveOut wave = new WaveOut(); 
wave.Init(waveProvider); 
wave.Play();

对第二个问题的帮助将不胜感激。 谢谢和问候

【问题讨论】:

Mark 通过编写这个类让他的生活变得困难,太多的程序员认为它做了一些超出预期的事情。您需要一个支持多输出的精美声卡,ASIO 是它们的标准接口。永远不要 WaveOut。所以这行不通,您需要自己与自己的波形提供者进行混合。 每个人都在使用Mark出色的工作很好...如果音频可以被通道化,那么一些功能也应该可以控制它们的音量..我不知道这就是为什么写一个问题...有人请帮忙.. 【参考方案1】:

如果您使用AudioFileReader 而不是Mp3FileReader,这将为您在每个输入上提供一个方便的音量属性。有几种其他方法可以实现相同的目标,但这可能是最简单的。

【讨论】:

以上是关于如何使用Naudio分别控制耳机左右声道的音量的主要内容,如果未能解决你的问题,请参考以下文章

NAudio 通过我的代码设置左右扬声器电平(平衡控制)

iOS:静音右声道音量

使用两个不同的滑块设置左右耳机音量

ffmpeg 统一音量/调整音量

C# NAudio 音量

四段圆头耳机线有4个线丝红蓝绿黄,分别代表啥,要接话简和耳机怎么接