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
Utilizzare Tailwind CSS all'interno di React: primi componenti
Filtering sulle colonne in una QuickGrid di Blazor
Gestione degli stili CSS con le regole @layer
Ottimizzare le performance delle collection con le classi FrozenSet e FrozenDictionary
Utilizzare Model as a Service su Microsoft Azure
Creare un'applicazione React e configurare Tailwind CSS
Utilizzare un numero per gestire la concorrenza ottimistica con SQL Server ed Entity Framework
Utilizzare la versione generica di EntityTypeConfiguration in Entity Framework Core
Gestire la cancellazione di una richiesta in streaming da Blazor
Disabilitare automaticamente un workflow di GitHub (parte 2)
Sviluppare un'interfaccia utente in React con Tailwind CSS e Preline UI
Proteggere le risorse Azure con private link e private endpoints