我正在尝试在设置为 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/