如何使用FadeOut功能

时间:2018-02-07 21:18:19

标签: c# naudio

我正在尝试在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。 我在其他函数中找到了参数的解释,但仍然无法理解它们。

任何人都可以向我解释一下吗?使用它的一个例子可能是完美的。

1 个答案:

答案 0 :(得分:0)

答案是使用周期为0的beginfadeout方法