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
Evitare memory leaks nelle closure JavaScript
Utilizzare i command service nei test con .NET Aspire
Ridurre il reflow ottimizzando il CSS
Documentare i servizi REST con Swagger e OpenAPI con .NET 9
Recuperare gli audit log in Azure DevOps
Ospitare n8n su Azure App Service
Utilizzare @property per animare nativamente un oggetto HTML tramite CSS
Recuperare le subissue e il loro stato di completamento in GitHub
Le cron expression di un workflow di GitHub
Escludere alcuni file da GitHub Copilot
Effettuare un clone parziale di un repository di GitHub
Definire il colore di una scrollbar HTML tramite CSS


