Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在NAudio实现ReplayGain?_C#_.net_Naudio - Fatal编程技术网

C# 如何在NAudio实现ReplayGain?

C# 如何在NAudio实现ReplayGain?,c#,.net,naudio,C#,.net,Naudio,我用NAudio做了一个音频播放器。它工作正常,但音量根据mp3文件高低波动。如何使用NAudio实现replaygain? 假设我已经计算了replaygain并通过任何其他方式添加到元数据中,那么如何在运行时动态调整卷?这个有内置的功能吗?如果没有,怎么做 编辑 我使用音量滑块根据下面的曲目增益dB值来调整每首歌曲的音量 //-10.56 is track gain info in dB of a song. Track peak is 1.274087 var result = Math

我用NAudio做了一个音频播放器。它工作正常,但音量根据mp3文件高低波动。如何使用NAudio实现replaygain? 假设我已经计算了replaygain并通过任何其他方式添加到元数据中,那么如何在运行时动态调整卷?这个有内置的功能吗?如果没有,怎么做

编辑


我使用音量滑块根据下面的曲目增益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);
这是正确的方法吗?轨道峰值的用途是什么?

ReplayGain有一个规范:


您特别需要阅读播放器要求部分。在NAudio中,可以使用VolumeSampleProvider应用增益。只要将其音量设置为加载新文件时从ReplayGain计算的任何值。

@ioctLR如果我获得5.3声道增益,我应该增加多少音量?你能告诉我用什么配方吗?