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
Taggare automaticamente un repository con un workflow di GitHub
Utilizzo di Set e Array in JavaScript
Utilizzare il browser per rilevare Javascript e CSS non utilizzati nel codice
Innestare una query nel metodo Contains di Entity Framework Core
Monitorare i server on-premises con Azure Arc
Organizzare i moduli sfruttando CommonJS
Utilizzare il metodo reduce in JavaScript
Gestire il fallimento di uno step in un workflow di GitHub
Test reporting in un workflow di GitHub
Monitorare metriche delle risorse Azure con Load Testing
Impostare un default custom per i metodi LINQ che tornano il valore di default
Utilizzare l'API del browser fetch
I più letti di oggi
- Sfruttare la local cache del browser tramite gli ETag in #aspnetcore https://aspit.co/cfc di @crad77 #webapi #aspnetmvc #blazor #cache
- Creare un array al volo
- Ecco la roadmap di ASP.NET 5: il rilascio definitivo nel corso del primo trimestre 2016
- Scegliere Kestrel o HTTP.sys come webserver per ASP.NET Core
- Linting di un Dockerfile con un workflow di GitHub