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
Gestire il colore CSS con HWB
Usare il colore CSS per migliorare lo stile della pagina
Creare alias per tipi generici e tuple in C#
Autenticarsi in modo sicuro su Azure tramite GitHub Actions
.NET Conference Italia 2024
Creare una libreria CSS universale - Rotazione degli elementi
Migliorare la scalabilità delle Azure Function con il Flex Consumption
Ottimizzare le pull con Artifact Cache di Azure Container Registry
Evitare (o ridurre) il repo-jacking sulle GitHub Actions
Utilizzare il trigger SQL con le Azure Function
Sfruttare GPT-4o realtime su Azure Open AI per conversazioni vocali
Utilizzare il metodo CountBy di LINQ per semplificare raggruppamenti e i conteggi