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
Utilizzare i primary constructor di C# per inizializzare le proprietà
Gestire errori funzionali tramite exception in ASP.NET Core Web API
Generare file per il download da Blazor WebAssembly
Elencare le container images installate in un cluster di Kubernetes
Utilizzare il trigger SQL con le Azure Function
Come EF 8 ha ottimizzato le query che usano il metodo Contains
Utilizzare la session affinity con Azure Container Apps
Hosting di componenti WebAssembly in un'applicazione Blazor static
Evitare (o ridurre) il repo-jacking sulle GitHub Actions
Usare una container image come runner di GitHub Actions
Evitare la command injection in un workflow di GitHub
Ottimizzare la latenza in Blazor 8 tramite InteractiveAuto render mode