Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.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# 当`SoundEffectInstance.Stop()时,Windows Phone发出噼啪声`_C#_.net_Windows Phone 7_Audio_Xna - Fatal编程技术网

C# 当`SoundEffectInstance.Stop()时,Windows Phone发出噼啪声`

C# 当`SoundEffectInstance.Stop()时,Windows Phone发出噼啪声`,c#,.net,windows-phone-7,audio,xna,C#,.net,Windows Phone 7,Audio,Xna,我有几个SoundEffectInstance。当我停止时会发出咔嗒声(我需要尽可能快地停止)。我在某个地方读到,它的“音效”是由声波切割产生的。我试着写一些像这样的东西 ThreadPool.QueueUserWorkItem(delegate { for (float i = 1f; i > 0.01; i /= 2f) { foreach (var sound in Sounds.Values)

我有几个
SoundEffectInstance
。当我停止时会发出咔嗒声(我需要尽可能快地停止)。我在某个地方读到,它的“音效”是由声波切割产生的。我试着写一些像这样的东西

ThreadPool.QueueUserWorkItem(delegate        {
        for (float i = 1f; i > 0.01; i /= 2f)
        {
            foreach (var sound in Sounds.Values)
            {
                if (sound != null && !sound.IsDisposed)
                {
                    sound.Volume = i;
                }
            }
            Thread.SpinWait(500); //Tried different dellays here
        }
    });
    Sounds.Clear();  

但这并没有真正的帮助。如何避免快速声音停止时出现趵rackle?

停止后的下一个样本的值必须与前一个样本的值相当接近。如果不是,那么你会得到一个“台阶”,它会产生很多高频噪音,听起来像是噼啪声或滴答声。非常感谢。我不介意。