【发布时间】:2018-07-26 10:44:09
【问题描述】:
我正在尝试在我设置为 WebChromeClient 的 Android WebView 中使用 Web Speech Synthesis API。但是,当我检查页面并运行以下命令时
console.log('speechSynthesis' in window, 'webkitSpeechRecognition' in window, 'speechRecognition' in window); 每个都返回为假、假、假。
如果我在 Android 上使用 Chrome 检查页面,那么它会返回 true、true、false。
通过 Chrome 应用程序打开的用户代理显示为:
“Mozilla/5.0(Linux;Android 8.1.0;Pixel 2 XL Build/OPM1.171019.018) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.137 Mobile Safari/537.36"
Chrome WebView 显示为:
“Mozilla/5.0(Linux;Android 8.1.0;Pixel 2 XL Build/OPM1.171019.018; wv) AppleWebKit/537.36 (KHTML, like Gecko) 版本/4.0 Chrome/64.0.3282.137 移动版 Safari/537.36"
Chrome版本完全一样,只是speechSynthesis不在窗口中。
我在 webview 上启用了以下设置:
webViewSettings.setJavaScriptEnabled(true);
webViewSettings.setAllowFileAccessFromFileURLs(true);
webViewSettings.setAllowUniversalAccessFromFileURLs(true);
webViewSettings.setAllowContentAccess(true);
webViewSettings.setAllowFileAccess(true);
webViewSettings.setDatabaseEnabled(true);
webViewSettings.setMediaPlaybackRequiresUserGesture(false);
谢谢
【问题讨论】:
-
我不知道 Android 是怎么回事。一切似乎都很困难。我一直在寻找一整天,但找不到任何东西。据我了解,如果 webview 将使用 chrome 渲染器进行渲染,这将起作用(找不到如何做到这一点)
标签: javascript html webview text-to-speech chromium