예제 #1
0
        public void TestSeekToEndFails()
        {
            bool?success = null;

            bass.RunOnAudioThread(() => { success = track.Seek(track.Length); });
            bass.Update();

            Assert.AreEqual(0, track.CurrentTime);
            Assert.IsFalse(success);
        }
        public void TestPlayPauseStop()
        {
            Assert.That(!track.IsRunning);

            bass.RunOnAudioThread(() => track.Start());
            bass.Update();

            Assert.That(track.IsRunning);

            bass.RunOnAudioThread(() => track.Stop());
            bass.Update();

            Assert.That(!track.IsRunning);

            bass.RunOnAudioThread(() =>
            {
                track.Seek(track.Length - 1000);
                track.Start();
            });

            bass.Update();

            Assert.That(() =>
            {
                bass.Update();
                return(!track.IsRunning);
            }, Is.True.After(3000));
        }
        private void load(AudioManager audio, Game game)
        {
            AddStep("Play track", () =>
            {
                Track = new TrackBass(game.Resources.GetStream("Tracks/" + TestLevel.Metadata.Level.LevelName + "/" + TestLevel.SongUrl));

                audio.AddItem(Track);
                Track.Start();
            });

            AddStep("Stop track", () =>
            {
                Track.Stop();
                Track.Seek(0);
            });
        }
예제 #4
0
 private void seekTo(float x)
 {
     track.Seek(x / DrawWidth * track.Length);
 }