Exemple #1
0
        private void UpdateWaveForm()
        {
            if (soundPlayer == null || RenderSize.Width < 1 || RenderSize.Height < 1 || !soundPlayer.IsPlaying)
            {
                _visualTimer.Stop();
                return;
            }

            if (soundPlayer.IsPlaying && !soundPlayer.GetChannelData(out channelData, _datalength))
            {
                _visualTimer.Stop();
                return;
            }

            if (Visibility == Visibility.Collapsed)
            {
                _visualTimer.Stop();
                return;
            }


            PolyLine.Points.Clear();

            int    points = 100;
            int    step   = channelData.Length / points;
            double xscale = ActualWidth / channelData.Length;

            for (int i = 1; i < channelData.Length; i += step)
            {
                double x = i * xscale;
                double y = Map(channelData[i], 0.0d, ActualHeight) * 0.95;
                PolyLine.Points.Add(new Point(x, y));
            }
        }
Exemple #2
0
        private void UpdateWaveForm()
        {
            if (soundPlayer == null || RenderSize.Width < 1 || RenderSize.Height < 1 || !soundPlayer.IsPlaying)
            {
                _visualTimer.Stop();
                return;
            }

            if (soundPlayer.IsPlaying && !soundPlayer.GetChannelData(out channelData, _datalength))
            {
                _visualTimer.Stop();
                return;
            }

            if (Visibility == Visibility.Collapsed)
            {
                _visualTimer.Stop();
                return;
            }

            CircleVis.WaveData = channelData;
        }