Enumerare i dispositivi video nella Universal Windows Platform

di Matteo Tumiati, in Windows 10,

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

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi