Nella Universal Windows Platform (e, ancora prima, con Windows 8.1) è stato semplificato notevolmente il discovery e l'accesso ai device installati nel PC o nel telefono. In particolare, per i device video infatti, al contrario di WPF, non è più necessario integrare librerie esterne (come AForge) o includere riferimenti ad applicativi WinForms per recuperare la lista delle webcam e per mostrare una preview.
Per recuperare la lista dei device è sufficiente questa funzione:
private async Task<DeviceInformationCollection> GetVideoDevicesAsync() { return await DeviceInformation.FindAllAsync(DeviceClass.VideoCapture); }
Essendo una lista, è possibile filtrarla per selezionare un dispositivo secondo le sue proprietà, ad esempio IsDefault o IsEnabled. Una volta selezionato il device, è possibile visualizzare una preview sfruttando la classe MediaCapture:
private async Task StartWebcamPreview(DeviceInformation webcamDevice) { var settings = new MediaCaptureInitializationSettings() { StreamingCaptureMode = StreamingCaptureMode.Video, VideoDeviceId = webcamDevice.Id }; var mediaCapture = new MediaCapture(); await mediaCapture.InitializeAsync(settings); await mediaCapture.StartPreviewAsync(); }
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Calcolare automaticamente un numero di versione di un repository in una pipeline di Azure DevOps
Recuperare i dispositivi connessi in tethering con la Universal Windows Platform
Ottimizzare il query plan di Sql Server nelle query LINQ che usano Contains
Monitorare i costi di Azure con i budget
Utilizzare le Promise in Javascript - prima parte
Welcome back to .NET
Ottimizzare le performance di serializzazione e deserializzazione JSON con System.Text.Json e i source generators
Gestire il polimorfismo nella serializzazione usando un converter con System.Text.Json
Le novità di .NET 6 e C# 10
Versioning dei pacchetti NuGet in Visual Studio 2019
Scaling per app con Azure App Service
Un confronto tra Framework CSS: Foundation, Bulma, TailwindCSS e SemanticUI