如何在NAudio中实现重放增益

本文关键字:实现 NAudio | 更新日期: 2023-09-27 17:51:08

我使用NAudio制作了一个音频播放器。它工作得很好,但音量高低取决于mp3文件。如何实现重放使用NAudio?假设我已经计算了重放增益并通过任何其他方式添加到元数据中,如何在运行时动态调整音量?有什么内置的功能吗?如果不是,怎么做呢?

编辑


我使用音量滑块来调整每首歌的音量根据音轨增益的dB值如下

//-10.56 is track gain info in dB of a song. Track peak is 1.274087
var result = Math.Exp((-10.56) * (2.302585092994046 / 20.0));
decibel = (float)result;
volumeSlider1.Volume = decibel;
setVolumeDelegate(volumeSlider1.Volume);

这是正确的方法吗?Track peak的目的是什么?

如何在NAudio中实现重放增益

ReplayGain有一个规格:这里

你会特别想要阅读玩家要求部分。在NAudio中,你可以使用VolumeSampleProvider来应用增益。只要将其音量设置为加载新文件时从ReplayGain中计算出的音量