Quando si sviluppano alcuni tipi di applicazioni che fanno uso di microfono o audio in genere, può risultare utile conoscere qual è l'uscita audio utilizzata attualmente dall'utente.
Per farlo è necessario richiedere l'accesso alla classe AudioRoutingManager:
var audioManager = AudioRoutingManager.GetDefault(); var endpoint = audioManager.GetAudioEndpoint();
L'endpoint che viene ritornato è un oggetto di tipo AudioRoutingEndpoint, che indica la tipologia di device, quindi, ad esempio, lo speaker (di default) oppure le cuffie.
Ovviamente è anche possibile restare in ascolto di possibili cambiamenti. Ad esempio, è possibile capire se sono state collegate le cuffie con il cavo, un dispositivo bluetooth o altro ancora:
audioManager.AudioEndpointChanged += AudioManager_AudioEndpointChanged; private void AudioManager_AudioEndpointChanged(AudioRoutingManager sender, object args) { Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => Endpoint.Text = sender.GetAudioEndpoint().ToString()); }
Questa API è disponibile dalla prima versione di Windows 10 (10240) ma è specifica per Windows 10 Mobile, quindi, per farne uso, è necessario importare il Windows Mobile Extension SDK da Visual Studio.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Inizializzare i container in Azure Container Apps
Eseguire una GroupBy per entity in Entity Framework
Ottimizzazione dei block template in Angular 17
Aprire una finestra di dialogo per selezionare una directory in WPF e .NET 8
C# 12: Cosa c'è di nuovo e interessante
Filtering sulle colonne in una QuickGrid di Blazor
Utilizzare un numero per gestire la concorrenza ottimistica con SQL Server ed Entity Framework
Usare un KeyedService di default in ASP.NET Core 8
Gestire errori funzionali tramite exception in ASP.NET Core Web API
Garantire la provenienza e l'integrità degli artefatti prodotti su GitHub
Filtrare i dati di una QuickGrid in Blazor con una drop down list
Miglioramenti nell'accessibilità con Angular CDK