In uno script precedente abbiamo visto come usare la classe MediaCapture per catturare il flusso video dello schermo e salvare il tutto su di un file. In questo script vedremo come utilizzare la stessa classe per visualizzare lo stream video della web cam.
Per prima cosa inseriamo nella nostra pagina il controllo CaptureElement:
<StackPanel Background="{ThemeResource ApplicationPageBackgroundThemeBrush}" Orientation="Vertical"> <CaptureElement Name="PreviewControl" Stretch="Uniform" /> <Button HorizontalAlignment="Center" Click="ButtonBase_OnClick">Inizia</Button> </StackPanel>
Successivamente Andiamo ad aggiungere nell'event handler del Button il seguente codice:
try { var _mediaCapture = new MediaCapture(); await _mediaCapture.InitializeAsync(); PreviewControl.Source = _mediaCapture; await _mediaCapture.StartPreviewAsync(); DisplayInformation.AutoRotationPreferences = DisplayOrientations.Landscape; } catch (UnauthorizedAccessException) { System.Diagnostics.Debug.WriteLine("non hai i permessi di accedere alla webcam"); } catch (Exception ex) { System.Diagnostics.Debug.WriteLine("Inizializzazione di MediaCapture . {0}", ex.Message); }
Il codice è relativamente semplice, una volta creata un'istanza della classe MediaCapture possiamo collegarla direttamente al controllo PreviewCotrol semplicemente assegnandola alla proprietà Sorce.

Perche la nostra applicazione possa accedere alla webcam e al microfono dobbiamo impostare le rispettive Capabilities nel manifest.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Utilizzare il metodo Index di LINQ per scorrere una lista sapendo anche l'indice dell'elemento
Creare una libreria CSS universale - Rotazione degli elementi
Disabilitare automaticamente un workflow di GitHub
.NET Conference Italia 2024
Cambiare la chiave di partizionamento di Azure Cosmos DB
Change tracking e composition in Entity Framework
Migrare una service connection a workload identity federation in Azure DevOps
Utilizzare la funzione EF.Parameter per forzare la parametrizzazione di una costante con Entity Framework
Applicare un filtro per recuperare alcune issue di GitHub
Creare una libreria CSS universale: Cards
Introduzione alle Container Queries
Rinnovare il token di una GitHub App durante l'esecuzione di un workflow