在 NAudio 中设置音量

Posted

技术标签:

【中文标题】在 NAudio 中设置音量【英文标题】:Set volume in NAudio 【发布时间】:2012-04-24 20:15:10 【问题描述】:

我在 C# 应用程序中使用 NAudio.dll。我发现 IWavePlayer 有属性 Volume 但它已经过时了。

 public interface IWavePlayer : IDisposable
    
        [Obsolete("Not intending to keep supporting this going forward: set the volume on your input WaveProvider instead")]
        float Volume  get; set; 

       //..........................
    

那么我应该怎么设置音量呢?有没有人举个例子说明一下?

【问题讨论】:

【参考方案1】:

IWavePlayer 的一些实现者仍然有一个Volume 属性(例如,WaveOutDirectSound 没有),所以只保留对具体类而不是接口的引用。接口上的属性已过时,因为并非所有IWavePlayer 的实现者都能够支持这一点。

无论如何,最好自己控制传递给IWavePlayer 的样本量。 NAudio 中有许多类允许修改流音量,尤其是那些继承自ISampleProvider 的类。查看 NAudioDemo 源代码,以示例查看音量修改是如何实现的。

【讨论】:

我没有找到 NAudioDemo 源代码。它在哪里可用?

以上是关于在 NAudio 中设置音量的主要内容,如果未能解决你的问题,请参考以下文章

在 C# 中设置麦克风音量

如何在不使用 AudioQueueRef 的情况下在 AudioQueue 中设置音量?

如何在具有 AVPlayer 类的应用程序中设置放大音量?

C# NAudio 音量

NAudio 峰值音量计

在使用 Naudio 播放文件时检测当前音量