Beispiel #1
0
 /// <summary>
 /// Disposes the object.
 /// </summary>
 public void Dispose()
 {
     if (_sourceVoice != null)
     {
         StreamingSourceVoiceListener.Default.Remove(_sourceVoice);
         _sourceVoice.Stop(SourceVoiceStopFlags.None, CSCore.XAudio2.XAudio2.CommitAll);
     }
 }
Beispiel #2
0
        static void Main(string[] args)
        {
            OpenFileDialog openFileDialog = new OpenFileDialog();

            openFileDialog.Filter = CodecFactory.SupportedFilesFilterEn;

            if (openFileDialog.ShowDialog() == DialogResult.OK)
            {
                using (var source = CodecFactory.Instance.GetCodec(openFileDialog.FileName))
                {
                    using (var xaudio2 = XAudio2.CreateXAudio2())
                        using (var masteringVoice = xaudio2.CreateMasteringVoice())
                            //ALWAYS create at least one masteringVoice.
                            using (var streamingSourceVoice = new StreamingSourceVoice(xaudio2, source))
                            {
                                StreamingSourceVoiceListener.Default.Add(streamingSourceVoice);
                                //add the streamingSourceVoice to the default sourcevoicelistener which processes the data requests.
                                streamingSourceVoice.Start();

                                Console.WriteLine("Press any key to exit.");
                                Console.ReadKey();

                                StreamingSourceVoiceListener.Default.Remove(streamingSourceVoice);
                                streamingSourceVoice.Stop();
                            }
                }
            }
        }
Beispiel #3
0
 public void Stop()
 {
     if (_streamingSourceVoice != null)
     {
         StreamingSourceVoiceListener.Default.Remove(_streamingSourceVoice);
         _streamingSourceVoice.Stop();
         _streamingSourceVoice.Dispose();
         _streamingSourceVoice = null;
     }
     _playbackState = PlaybackState.Stopped;
 }
Beispiel #4
0
        public void Stop()
        {
            if (_isPlaying)
            {
                StreamingSourceVoiceListener.Default.Remove(_streamingSourceVoice);
                _streamingSourceVoice.Stop();
                _streamingSourceVoice.Dispose();
                _masteringVoice.Dispose();
                _waveSource.Dispose();

                _isPlaying = false;
            }
        }