谷歌Chrome扩展支持Chrome的Web语音语音识别API吗?我已经包含了一些javascript来创建一个语音识别对象,但是当我启动我的扩展时,没有提示我进行麦克风访问。
这不是我的代码的问题。我在谷歌上搜索过,但是我找不到任何关于Chrome扩展是否支持Web语音API的信息。我只想要一个是/不是的答案。
注意:我相信WebSpeech API对本地文件不起作用。
Web语音API已经可以被Chrome扩展使用,甚至可以在后台页面和扩展按钮弹出窗口中使用。它工作的事实并不一定是一个预期的特性,而且我之前已经在这个关于如何使用webrtc insde google chrome Extension?的答案中解释了它是如何工作的以及为什么会工作。前面的解释是关于WebRTC的,但它同样适用于Web语音,可以使用如下:
>
WebKitSpeechRecognition
实例并开始录制。事件触发onerror
.error===“non-alloged'
),请打开扩展页(chrome-extension://[ID]/yourpage.html
)。可以在新窗口、选项卡或iframe中打开此扩展页。从此页请求访问麦克风。getUserMedia和SpeechRecognition都共享(持久)音频权限,因此要检测是否允许录制音频,可以使用getUserMedia
请求该权限,而不激活语音识别。例如:
navigator.webkitGetUserMedia({
audio: true,
}, function(stream) {
stream.stop();
// Now you know that you have audio permission. Do whatever you want...
}, function() {
// Aw. No permission (or no microphone available).
});
更新:基于Robw的答案,这个答案现在已经过时了,Web语音API现在可以在扩展内部使用了。(不幸的是,我不能删除这个答案,除非OP不接受。)
答案还不是。通过chrome-extension:
URL访问的页面无法访问任何媒体输入API,包括SpeechRecognition
和GetUserMedia
。任何使用API的尝试都将立即触发错误回调。
我最初认为SpeechRecognition
可以像geolocation
API一样工作:扩展弹出窗口不能提示geolocation权限,但作为完整浏览器页面加载的Chrome-Extension:
页面可以像普通页面一样提示权限。但是,媒体API的行为方式不是这样的;无论页面是弹出还是完整页面,它们都将失败。
有一个错误报告可以修复此问题,并允许开发人员在清单中指定媒体访问权限。当这个bug修复后,扩展可以拥有一个manifest-set权限,授予它们自动麦克风/视频访问权限,因此无法提示权限将成为一个不存在的问题(因此,具有适当manifest权限的扩展将能够自由使用Speech API)。
Electron 支持 Chrome 扩展API的子集, 主要是支持 DevTools 扩展和 Chromium-internal 扩展,但它同时也支持一些其他扩展能。 注意:Electron 不支持商店中的任意 Chrome 扩展,Electron 项目的目标不是与 Chrome 的扩展实现完全兼容。 加载扩展 Electron 只支持加载未打包的扩展 (即不能使用 .crx 文件)。 插件会被
在过去的几周里,我一直在编写一些浏览器扩展,直到今天,我认为Firefox的WebExtension应该在Chrome中自动运行。所以我试着根据Mozilla的示例编写代码。 但是今天我意识到在Chrome扩展的API文档中没有提到承诺。 我在所有扩展的代码中都严格地使用了承诺。 所以现在我的问题是,我的代码能在Chrome中工作吗?或者,如果我在顶部添加一个声明,它会起作用吗? 或者,Chrom
我可以创建一个插件或扩展的谷歌Chrome移动(Android谷歌Chrome)? 如果没有,我可以为谷歌Chrome(桌面)创建一个扩展,它将在谷歌Chrome栏中添加一个按钮。此按钮将在另一个web浏览器中打开页面(在我自己的web浏览器中),因此,此按钮应该启动我自己的web浏览器。
包含 RTL 文件 如需启用 RTL 功能,则要包含 'easyui-rtl.css' 和 'easyui-rtl.js' 文件。 <link rel="stylesheet" type="text/css" href="themes/default/easyui.css"> <link rel="stylesheet" type="text/css" href="easyui-rtl.cs
一个轻量级的缓存实现,目前已支持 Redis Memcache Memcached File 四种储存模式 仓库地址: Github 安装 composer require easyswoole/cache 注意: 请确保框架已经引入了 composer 的 autoload.php 文件,否则报类不存在的错误 快速入门 如果不做任何设置,默认使用File驱动,开箱即用 use easySwool
Tweetmeme Chrome 扩展其实就是一个精简版的 TweetMeme 按钮,其作用就是让你“随时随地”都可以向你的关注者分享你正在浏览的网页(“随时随地”加引号是因为在天朝该服务不可用),简单点说就是一个 retweet 按钮。通过 Tweetmeme Chrome 扩展分享出的网址会采用 retwt.me 短网址服务进行缩短,对于身在墙外或者随时都在翻墙状态的用户来说非常实用。 安装