SpeechRecognition 不适用于 Android/Mobile Chrome,但适用于桌面?

问题描述

根据 https://developer.mozilla.org/en-US/docs/Web/API/Web_Speech_API 的说法,Web Speech API 应该适用于 Android 版 Chrome,但事实并非如此。在桌面上,它可以正常工作并在收听之前请求使用麦克风的权限。是否有需要配置的 chrome android 设置才能使用此技术?在 Android 上,它甚至不请求许可,它只是立即拒绝位置和麦克风的权限。

我的应用程序示例位于:a7-bolt170.herokuapp.com/during_run

编辑:找错地方了,我给用户的 URL 没有 https:// 前缀,所以 Chrome 拒绝授予硬件权限。添加 https:// 前缀解决了这个问题。

解决方法

我对 Android 一无所知,但...

通过查看如何在 Chromium 下的桌面上完成,它将为您提供有关如何在 Android 上执行此操作的线索:

要在 Chromium 中设置此类权限,我们这样做...

chrome.contentSettings.microphone.set({primaryPattern:'<all_urls>',setting:'ask'});  // allow|block|ask

在上述允许的情况下,我们必须使用“允许”参数为多媒体设置 iframe 像这个例子...

YourFrame.setAttribute('allow','microphone; camera;');

我希望这会有所帮助,因为 Android 不会有太大的不同!

,

Chrome 会在您不使用 https:// 时锁定权限,请始终使用 https://,孩子们。