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
Inference di dati strutturati da testo con Semantic Kernel e ASP.NET Core Web API
Utilizzare l nesting nativo dei CSS
Applicare un filtro per recuperare alcune issue di GitHub
Gestione degli stili CSS con le regole @layer
Testare l'invio dei messaggi con Event Hubs Data Explorer
Effettuare il log delle chiamate a function di GPT in ASP.NET Web API
Supporto ai tipi DateOnly e TimeOnly in Entity Framework Core
Generare una User Delegation SAS in .NET per Azure Blob Storage
Popolare una classe a partire dal testo, con Semantic Kernel e ASP.NET Core Web API
Generare la software bill of material (SBOM) in GitHub
Gestire eccezioni nei plugin di Semantic Kernel in ASP.NET Core Web API
Creare una libreria CSS universale: i bottoni
I più letti di oggi
- Creare agenti facilmente con Azure AI Agent Service
- Loggare le query più lente con Entity Framework
- Disabilitare le run concorrenti di una pipeline di Azure DevOps
- Rendere i propri workflow e le GitHub Action utilizzate più sicure
- Gestione degli eventi nei Web component HTML
- Fornire parametri ad un Web component HTML
- Utilizzare Hybrid Cache in .NET 9