예제 #1
0
        public void Stop(uint fadeOut = 0)
        {
            _playingTime.Stop();

            if (fadeOut > 0 && !is3DSound)
            {
                IsFadingMode          = true;
                _fadingStepThreeshold = 1.0f / fadeOut * -1;
                _fadingVolumeCoef     = 1.0f;
                _fadingTimer.Restart();
                _soundEngine.AddSoundWatching(this);
            }
            else
            {
                IsFadingMode = false;
                IsLooping    = false;
                _voice.Stop();
                _fadingTimer.Stop();
                _voice.FlushSourceBuffers();
                _defferedStart   = 0;
                MaxDefferedStart = 0;
                MinDefferedStart = 0;
                IsPlaying        = false;
            }
        }