AerialForWindows.Controllers.AllScreensSameMovieController.Start C# (CSharp) Method

Start() public method

public Start ( ) : void
return void
        public override void Start()
        {
            var randomAssetUrl = MovieManager.GetRandomAssetUrl();
            SetSourceForAllMediaElements(new Uri(randomAssetUrl));

            if (Settings.Instance.PlayInLoop) {
                foreach (var mediaElement in MediaElements) {
                    mediaElement.UnloadedBehavior = MediaState.Manual;
                }

                MediaElements[0].MediaEnded += (sender, args) => {
                    _logger.Debug("Replaying on all screens");
                    RestartAllMediaElements();
                };
            } else {
                MediaElements[0].MediaEnded += (sender, args) => {
                    var newSource = new Uri(MovieManager.GetRandomAssetUrl());
                    SetSourceForAllMediaElements(newSource);
                    _logger.Debug($"Playing new url {newSource} on all screens");
                };
            }
        }