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 le collection expression in C#
Utilizzare i primary constructor di C# per inizializzare le proprietà
Gestire domini wildcard in Azure Container Apps
Load test di ASP.NET Core con k6
Creare alias per tipi generici e tuple in C#
Testare l'invio dei messaggi con Event Hubs Data Explorer
Definire stili a livello di libreria in Angular
Cancellare una run di un workflow di GitHub
Paginare i risultati con QuickGrid in Blazor
Utilizzare Azure Cosmos DB con i vettori
Utilizzare EF.Constant per evitare la parametrizzazione di query SQL
Come EF 8 ha ottimizzato le query che usano il metodo Contains