Exemple #1
0
        public void CopyofSampleProvider(WavePlayer wavePlayer, float selectbegintime)
        {
            wavePlayer._reader.Seek(0, SeekOrigin.Begin);
            var xx = wavePlayer._reader.ToSampleProvider();

            DelayFadeOutSampleProvider._copyofnonplayingsourceprovider = xx.Skip(TimeSpan.FromSeconds(selectbegintime));
        }
Exemple #2
0
        private DelayFadeOutSampleProvider RemoveAddStreamsFromMixer(WavePlayer fadeout)
        {
            var fadeOutProvider = fadeout._reader.ToSampleProvider();

            _mixer.RemoveInputStream(fadeout._channels);
            var fadeOutObject = new DelayFadeOutSampleProvider(fadeOutProvider);
            var waveStream    = new WaveProviderToWaveStream(fadeOutObject.ToWaveProvider());

            fadeout._channels = new WaveChannel32(waveStream);
            _mixer.AddInputStream(fadeout._channels);
            return(fadeOutObject);
        }
Exemple #3
0
        public void FadeIn(WavePlayer fadein, double time)
        {
            var fadeInProvider = fadein._reader.ToSampleProvider();

            _mixer.RemoveInputStream(fadein._channels);
            var fadeInObject = new DelayFadeOutSampleProvider(fadeInProvider);
            var waveStream2  = new WaveProviderToWaveStream(fadeInObject.ToWaveProvider());

            fadein._channels = new WaveChannel32(waveStream2);
            _mixer.AddInputStream(fadein._channels);
            fadeInObject.BeginFadeIn(time);
        }
Exemple #4
0
        public void CopyofSampleProvider(WavePlayer wavePlayer, float selectbegintime, float selectendTime, float crossfadeDuration)
        {
            ISampleProvider copyofSampleProvider = null;

            wavePlayer._reader.Seek(0, SeekOrigin.Begin);
            var sampleProvider = wavePlayer._reader.ToSampleProvider();

            var fadeSampleCount = (int)((crossfadeDuration * wavePlayer._reader.WaveFormat.SampleRate) / 1000);

            copyofSampleProvider = sampleProvider.Skip(TimeSpan.FromSeconds(selectbegintime));

            var readCount = fadeSampleCount > DelayFadeOutSampleProvider._copyofNotPlayingSammplesCapture.Length ? fadeSampleCount :
                            DelayFadeOutSampleProvider._copyofNotPlayingSammplesCapture.Length;

            copyofSampleProvider.Read(DelayFadeOutSampleProvider._copyofNotPlayingSammplesCapture, 0, readCount);

            CopyofSampleProvider(wavePlayer, selectbegintime);

            DelayFadeOutSampleProvider._regionEndTimeInMillis   = selectendTime * 1000;
            DelayFadeOutSampleProvider._regionStartTimeInMillis = selectbegintime * 1000;
        }
        public void FadeInOut(WavePlayer fadein, WavePlayer fadeout, int milliSeconds)
        {
            var fadeInProvider  = fadein._reader.ToSampleProvider();
            var fadeOutProvider = fadeout._reader.ToSampleProvider();

            _mixer.RemoveInputStream(fadeout._channels);
            _mixer.RemoveInputStream(fadein._channels);

            var fadeOutObject = new FadeInOutSampleProvider(fadeOutProvider);
            var fadeInObject  = new FadeInOutSampleProvider(fadeInProvider);

            var waveStream  = new WaveProviderToWaveStream(fadeOutObject.ToWaveProvider());
            var waveStream2 = new WaveProviderToWaveStream(fadeInObject.ToWaveProvider());

            fadeout._channels = new WaveChannel32(waveStream);
            fadein._channels  = new WaveChannel32(waveStream2);

            _mixer.AddInputStream(fadeout._channels);
            _mixer.AddInputStream(fadein._channels);

            fadeOutObject.BeginFadeOut(milliSeconds);
            fadeInObject.BeginFadeIn(milliSeconds);
        }
Exemple #6
0
        public void FadeoutOnMouseClicksAndPause(WavePlayer fadeout, double time)
        {
            var fadeoutObject = RemoveAddStreamsFromMixer(fadeout);

            fadeoutObject.BeginFadeOutOnMouseClicksAndPause(2, time);
        }
Exemple #7
0
        public void CrossFadeAtEnds(WavePlayer crossfade)
        {
            var fadeoutObject = RemoveAddStreamsFromMixer(crossfade);

            fadeoutObject.BeginCrossFadeAtEnds();
        }
Exemple #8
0
        public void FadersInOut(WavePlayer fadeout, double time)
        {
            var fadeoutObject = RemoveAddStreamsFromMixer(fadeout);

            fadeoutObject.BeginFadersInOut(2, time);
        }