Choreoh.MainWindow.playSongSelection C# (CSharp) Метод

playSongSelection() приватный Метод

private playSongSelection ( double secondsStart, double secondsEnd ) : void
secondsStart double
secondsEnd double
Результат void
        private void playSongSelection(double secondsStart, double secondsEnd)
        {
            TimeSpan startTime = new TimeSpan((int)(secondsStart * 10000000));
            TimeSpan durationTime = new TimeSpan((int)(secondsEnd * 10000000)) - startTime;

            waveform.selectStart(secondsStart);
            waveform.selectEnd(secondsEnd);

            var waveformTicker = new DispatcherTimer();
            waveformTicker.Tick += new EventHandler((object localsender, EventArgs locale) =>
            {
                if (waveform.isPlaying())
                {
                    Debug.WriteLine("waveform is playing, so tick");
                    waveform.movePlay();
                }
                else
                {
                    Debug.WriteLine("waveform stopped playing, so stop ticking");
                    isPlaying = false;
                    waveform.endPlay();
                    hideMode();
                    waveform.deselectSegment();
                    (localsender as DispatcherTimer).Stop();
                }
            });
            double secondsPerPixel = 1 / waveform.getPixelsPerSecond();
            double nanoseconds = secondsPerPixel * 1000000000;
            int ticks = (int)(nanoseconds / 100);
            Debug.WriteLine("Ticks: " + ticks);
            waveformTicker.Interval = new TimeSpan(ticks);

            AudioPlay.playForDuration(mainCanvas, songFilename, startTime, durationTime);
            waveformTicker.Start();
            waveform.startPlay();
            switchModeToPlayback();
            isPlaying = true;
        }