Пример #1
0
        public void Play()
        {
            if (_ms != null && _ms.Length > 0)
            {
                _ms.Position = 0;
                _waveStream  = new RawSourceWaveStream(_ms, WaveFormat);
                _waveOut.Init(_waveStream);
                _waveOut.Play();

                OnAudioPlaybackStateChanged?.Invoke(true);
            }
        }
Пример #2
0
        public void AddBytesToPlay(byte[] bytes)
        {
            if (_waveOut == null)
            {
                _waveOut = new WaveOut();
                _waveOut.PlaybackStopped += (sender, args) =>
                {
                    _waveStream.Dispose();
                    _ms.Dispose();
                    _ms = null;

                    OnAudioPlaybackStateChanged?.Invoke(false);
                };
            }
            if (_ms == null)
            {
                _ms = new MemoryStream();
            }

            _ms.Write(bytes, 0, bytes.Length);
        }