我正在尝试在我将其设置为Web Cromeclient的Android WebView中使用Web语音综合API。但是,当我检查页面并运行以下命令时 console.log('speechSynthesis' in window, 'webkitSpeechRecognition' in window, 'speechRecognition' in window);
每个返回为false,false,false。
如果我使用Android上的Chrome检查页面,则它将返回真实,正确,错误。
通过Chrome App上的用户代理显示为:
" Mozilla/5.0(Linux; Android 8.1.0; Pixel 2 XL构建/OPM1.171019.018( AppleWebkit/537.36(Khtml,像壁虎一样(Chrome/64.0.3282.137移动 Safari/537.36"
和Chrome WebView显示为:
" Mozilla/5.0(Linux; Android 8.1.0; Pixel 2 XL构建/OPM1.171019.018; WV(AppleWebkit/537.36(Khtml,像壁虎一样(/4.0 Chrome/64.0.3282.137移动野生动物园/537.36"
Chrome版本完全相同,但是语音合成不在窗口中。
我已经在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()