如何使用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分别控制耳机左右声道的音量的主要内容,如果未能解决你的问题,请参考以下文章