Ejemplo n.º 1
0
        public CSCoreEngine()
        {
            _fader          = new VolumeFading();
            _crossfade      = new Crossfade();
            SoundOutManager = new SoundOutManager(this);
            SoundOutManager.RefreshSoundOut += (sender, args) => Refresh();
            SoundOutManager.Enable          += (sender, args) => IsEnabled = true;
            SoundOutManager.Disable         += (sender, args) => IsEnabled = false;
            SoundOutManager.Activate();

            if (IsEnabled)
            {
                RefreshSoundOut();
            }
        }
Ejemplo n.º 2
0
        protected virtual void Dispose(bool disposing)
        {
            if (disposing)
            {
                _fader.Dispose();
                SoundOutManager.Dispose();

                if (_soundOut != null)
                {
                    if (_fader.IsFading)
                    {
                        _fader.CancelFading();
                        _fader.WaitForCancel();
                    }
                    _soundOut.Dispose();
                    _crossfade.CancelFading();
                }
                if (SoundSource != null)
                {
                    SoundSource.Dispose();
                }
            }
        }
Ejemplo n.º 3
0
 public void RefreshSoundOut()
 {
     _soundOut          = SoundOutManager.GetNewSoundSource();
     _soundOut.Stopped += soundOut_Stopped;
 }
Ejemplo n.º 4
0
 public CSCoreEngine()
 {
     _fader = new VolumeFading();
     _crossfade = new Crossfade();
     SoundOutManager = new SoundOutManager(this);
     SoundOutManager.RefreshSoundOut += (sender, args) => Refresh();
     SoundOutManager.Enable += (sender, args) => IsEnabled = true;
     SoundOutManager.Disable += (sender, args) => IsEnabled = false;
     SoundOutManager.Activate();
     if (IsEnabled) RefreshSoundOut();
 }