public async Task OnFullscreenChangeEventHandler(bool value)
        {
            PlayerState.Fullscreen = value;
            await OnFullscreenChange.InvokeAsync(PlayerState);

            StateHasChanged();
        }
        public FullscreenDetectTool(OnFullscreenChange onFullscreenChange)
        {
            _onFullscreenChange = onFullscreenChange;
            _fullscreen         = false;
            var worker = new BackgroundWorker();

            // detect state every 5 second
            worker.DoWork += (sender, args) => {
                while (true)
                {
                    Thread.Sleep(5000);
                    DetectFullscreen();
                }
            };
            worker.RunWorkerAsync();
        }