我正在尝试在设置为 WebChromeClient 的 Android WebView 中使用 Web Speech Synthesis API。但是,当我检查页面并运行以下命令时console.log('speechSynthesis' in window, 'webkitSpeechRecognition' in window, 'speechRecognition' in window); 每个都返回为 false、false、false。

如果我在 Android 上使用 Chrome 检查页面,则它返回 true、true、false。

通过 Chrome 应用程序的用户代理显示为:



Chrome WebView 显示为:



Chrome版本完全一样,但是speechSynthesis不在窗口中。

我在 webview 上启用了以下设置:

    webViewSettings.setJavaScriptEnabled(true);
    webViewSettings.setAllowFileAccessFromFileURLs(true);
    webViewSettings.setAllowUniversalAccessFromFileURLs(true);
    webViewSettings.setAllowContentAccess(true);
    webViewSettings.setAllowFileAccess(true);
    webViewSettings.setDatabaseEnabled(true);
    webViewSettings.setMediaPlaybackRequiresUserGesture(false);

谢谢

最佳答案

代码是正确的,但你需要将代码从 webViewSettings 更改为 webview.getSettings()

关于javascript - Android WebView (WebChromeClient) 语音合成未定义,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48811263/

10-11 02:36