mercoledì 27 dicembre 2017

Utilizzo del Microfono in un controllo UWP WebView

L'utilizzo del microfono con le API Web Audio è ben descritto qui https://developer.microsoft.com/en-us/microsoft-edge/testdrive/demos/microphone/

L'utilizzo del controllo WebView in una applicazione UWP è ben descritto qui:
https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/XamlWebView

Se voglio provare ad aprire la pagina del microfono all'interno dell'applicazione UWP devo aggiungere la funzionalità Microfono in Package.appmanifest, ma anche così non funziona.

Il trucco è aggiungere l'evento PermissionRequested al controllo WebView

<WebView x:Name="WebViewControl" PermissionRequested="WebViewControl_PermissionRequested"/>

private void WebViewControl_PermissionRequested(WebView sender, WebViewPermissionRequestedEventArgs args)
        {
            if (args.PermissionRequest.PermissionType == WebViewPermissionType.Media)
                args.PermissionRequest.Allow();
        }