gpt4 book ai didi

javascript - Android、WebView 和 SpeechRecognition-API

转载 作者:太空狗 更新时间:2023-10-29 13:55:12 26 4
gpt4 key购买 nike

我遇到了一个相当烦人的问题:对于客户项目,我需要使用 HTML5/JavaScript(客户规范)进行某种“语音结束”检测。所以我做了一些研究并认为“好吧,让我们试试 SpeechRecognition API”,它是“onspeechend”事件。这在我的机器上就像魅力一样,但在应用程序本身却没有。在我的研究中,我发现,您在应用程序中使用的 WebView 实际上不是系统默认浏览器。

默认浏览器的userAgent返回我

Mozilla/5.0 (Linux; Android 6.0.1; SM-G900F Build/MMB29M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/54.0.2840.68 Mobile Safari/537.36

但是,WebView-userAgent 返回

Mozilla/5.0(Linux;Android 6.0.1;SAMSUNG SM-G900F Build/MMB29M)AppleWebKit/537.36(KHTML,如 Gecko)SamsungBrowser/4.0 Chrome/44.0.2403.133 Mobile Safari/537.36

令人不安的是,SpeechRecognition-API 在默认浏览器中可用,但在 WebView 实例中不可用。有人知道如何解决/解决这个问题吗?

或者任何想法,如何检测语音结束。不幸的是,使用 SpeechRecognition-Intent 不是一种选择。我想那样做,但如前所述,客户坚持使用 HTML5/JavaScript 进行此操作。

最佳答案

我已经在 Android 中实现了默认的语音识别。

经过大量资源挖掘,我发现你只需要通过 webviewchromeclient 授予权限即可

注意:这是一个可行的解决方案。

    webView.setWebChromeClient(new WebChromeClient()
{

@Override
public void onPermissionRequest(final PermissionRequest request) {
request.grant(request.getResources());
}
}

干杯!

关于javascript - Android、WebView 和 SpeechRecognition-API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40337687/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com