我正在尝试在NAudio中使用fadeout功能。但是,我无法理解功能签名的含义。我不知道buffer,offset和sourceSamplesRead。
private void FadeOut(float[] buffer, int offset, int sourceSamplesRead)
{
int sample = 0;
while (sample < sourceSamplesRead)
{
float multiplier = 1.0f - (fadeSamplePosition / (float)fadeSampleCount);
for (int ch = 0; ch < source.WaveFormat.Channels; ch++)
{
buffer[offset + sample++] *= multiplier;
}
fadeSamplePosition++;
if (fadeSamplePosition > fadeSampleCount)
{
fadeState = FadeState.Silence;
// clear out the end
ClearBuffer(buffer, sample + offset, sourceSamplesRead - sample);
break;
}
}
}
NAudio的文档是here。 我在其他函数中找到了参数的解释,但仍然无法理解它们。
任何人都可以向我解释一下吗?使用它的一个例子可能是完美的。
答案 0 :(得分:0)
答案是使用周期为0的beginfadeout方法