Beispiel #1
0
        protected override async Task OnInitializedAsync()
        {
            action        = HandleAction;
            hubConnection = new HubConnectionBuilder()
                            .WithUrl(NavigationManager.ToAbsoluteUri("/shareScreen"))
                            .AddJsonProtocol(o => o.PayloadSerializerOptions.DefaultBufferSize = 2024000)
                            .Build();

            hubConnection.On <string>("Joined", (user) =>
            {
                messages.Add(user);
                StateHasChanged();
            });

            hubConnection.On <byte[]>("DrawFrame", async element =>
            {
                var imgData = Convert.ToBase64String(element);
                Console.WriteLine($"received data from DrawFrame: {imgData.Substring(0,10)}...");
                await ScreenCaptureInterop.ShowResult(imgData);
                imgUrl = imgData;
                StateHasChanged();
            });
            hubConnection.On <ScreenDataItem>("HandleStreamData", async data =>
            {
                Console.WriteLine($"Stream handled: {data.ToString().Substring(0, 10)}");
                imgUrl = $"data:image/png;base64,{data}";
                _      = ScreenCaptureInterop.ShowResult(imgUrl);
                await InvokeAsync(StateHasChanged);
            });
            await hubConnection.StartAsync();

            await hubConnection.SendAsync("Joined", "Adam");

            await base.OnInitializedAsync();
        }
Beispiel #2
0
        private async Task StartCapture()
        {
            await ScreenCaptureInterop.StartCapture();

            await InvokeAsync(StateHasChanged);
        }