Beispiel #1
0
        public void Open(string filename)
        {
            CleanupPlayback();

            var source = CodecFactory.Instance.GetCodec(filename);

            volumeSource = new VolumeSource(source);

            equalizer = Equalizer.Create10BandEqualizer(volumeSource);

            finalSource = equalizer
                          .ToStereo()
                          .ChangeSampleRate(44100)
                          .AppendSource(Equalizer.Create10BandEqualizer, out equalizer)
                          .ToWaveSource(16);

            if (WasapiOut.IsSupportedOnCurrentPlatform)
            {
                soundOut = new WasapiOut()
                {
                    Latency = 100, Device = PlaybackDevice
                }
            }
            ;
            else
            {
                soundOut = new DirectSoundOut();
            }

            soundOut.Initialize(finalSource);

            soundOut.Volume = deviceVolume;

            if (this.OpenCompleted != null)
            {
                this.OpenCompleted(this, new EventArgs());
            }
        }