Exemplo n.º 1
0
        public void PlaylistLogic()
        {
            var        ctx   = new TestAudioContext();
            AudioLayer layer = ctx.CreateLayer("test");

            var pepsi = Engine.AssetLoader.Get <AudioAsset>("Sounds/pepsi.wav");
            var money = Engine.AssetLoader.Get <AudioAsset>("Sounds/money.wav");

            layer.AddToQueue(pepsi);
            Assert.True(layer.Status == PlaybackStatus.Playing);
            layer.AddToQueue(pepsi);
            layer.PlayNext(money);

            AudioAsset[] playlist = layer.Playlist;
            Assert.True(playlist[0] == pepsi);
            Assert.True(playlist[1] == money);
            Assert.True(playlist[2] == pepsi);
            Assert.True(layer.CurrentTrack.File == pepsi);

            // Advance time ahead.
            ((TestAudioContext.TestAudioLayer)layer).ProcessAhead((int)(MathF.Ceiling(pepsi.Duration) + 1) * 1000);
            Assert.True(layer.CurrentTrack.File == money);

            ctx.RemoveLayer("test");
        }
Exemplo n.º 2
0
        public void AudioState()
        {
            var        ctx   = new TestAudioContext();
            AudioLayer layer = ctx.CreateLayer("test");

            var pepsi = Engine.AssetLoader.Get <AudioAsset>("Sounds/pepsi.wav");
            var money = Engine.AssetLoader.Get <AudioAsset>("Sounds/money.wav");

            Assert.True(layer.Status == PlaybackStatus.NotPlaying);
            layer.PlayNext(pepsi);
            Assert.True(layer.Status == PlaybackStatus.Playing);
            layer.Stop();
            Assert.True(layer.Status == PlaybackStatus.NotPlaying);

            layer.Pause();
            Assert.True(layer.Status == PlaybackStatus.Paused);
            layer.PlayNext(money);
            Assert.True(layer.Status == PlaybackStatus.Paused);
            layer.Resume();
            Assert.True(layer.Status == PlaybackStatus.Playing);
            layer.Stop();
            Assert.True(layer.Status == PlaybackStatus.NotPlaying);

            ctx.RemoveLayer("test");
        }