示例#1
0
        //            public void PlayTrack(Track TempTrack)
        //{

        //    try
        //    {
        //        PositionPlayer = 0;
        //        foreach (var NotePlaying in TempTrack.Notes)
        //        {
        //            double time = WAVEDuration.DurationWave(Track.Instrument.PathAudio() + NotePlaying.AudioFileName);

        //            sn = new SoundPlayer(Track.Instrument.PathAudio() + NotePlaying.AudioFileName);
        //            sn.Play();
        //            System.Threading.Thread.Sleep(TimeSpan.FromMilliseconds(time));
        //            Graphics.Render();

        //            PositionPlayer++;
        //        }

        //        if (PositionPlayer == TempTrack.Notes.Count)
        //        {
        //            PositionPlayer = 0;
        //            ThreadPlayFromStart = null;
        //        }
        //    }
        //    catch { }
        //}

        public void PlayTrackFromPosition()
        {
            List <Note> ListForPlaying = Track.Notes.GetRange(PositionPlayer, Track.Notes.Count - PositionPlayer);

            try
            {
                if (PositionPlayer >= 0)
                {
                    foreach (var NotePlaying in ListForPlaying)
                    {
                        double time = WAVEDuration.DurationWave(Track.Instrument.PathAudio() + NotePlaying.AudioFileName);
                        sn = new SoundPlayer(Track.Instrument.PathAudio() + NotePlaying.AudioFileName);
                        sn.Play();
                        System.Threading.Thread.Sleep(TimeSpan.FromMilliseconds(time));
                        Graphics.Render();
                        PositionPlayer++;
                    }
                }
                else if (PositionPlayer == Track.Notes.Count)
                {
                    PositionPlayer = 0;
                }
            }
            catch { }
        }
示例#2
0
 public void PlayTrack()
 {
     try
     {
         PositionPlayer = 0;
         foreach (var NotePlaying in Track.Notes)
         {
             double time = WAVEDuration.DurationWave(Track.Instrument.PathAudio() + NotePlaying.AudioFileName);
             sn = new SoundPlayer(Track.Instrument.PathAudio() + NotePlaying.AudioFileName);
             sn.Play();
             System.Threading.Thread.Sleep(TimeSpan.FromMilliseconds(time));
             Graphics.Render();
             PositionPlayer++;
         }
         if (PositionPlayer == Track.Notes.Count)
         {
             PositionPlayer      = 0;
             ThreadPlayFromStart = null;
         }
     }
     catch { }
 }