javascript - p5.speechrec 不适用于 chrome 弹出窗口和背景
问题描述
如果我在 content_scripts 中包含所有文件,我将 p5.speech 用于我的 chrome 扩展,它在页面加载时工作正常。但是在我的 popup.html 或 background_scripts 中包含它时,p5 语音正在工作,但 Speechrec 似乎不起作用。(1)在后台脚本中使用
"background":{
"scripts":[
"assets/p5.js",
"assets/addons/p5.sound.js",
"assets/addons/p5.dom.js",
"assets/p5.speech.js",
"custom.js"
]
}
自定义.js
var lang = navigator.language || 'en-US';
var speechrec= new p5.SpeechRec(lang,gotSpeech);
var cont = true;
var interm = false;
speechrec.start(cont,interm);
var foo = new p5.Speech();
foo.speak("Hello");
function gotSpeech(){
foo.speak(speechrec.resultString);
console.log(speechrec.resultString);
}
在这种情况下,当我启动浏览器时它会打招呼,甚至在后台页面控制台中它也显示已加载 p5 语音,但 Speechrec 不起作用。
(2) 我在 popup.html 中包含相同的脚本,弹出类似的结果,当我单击扩展图标时,它会打开弹出窗口并打招呼但不听任何内容。
只有在内容脚本 js 中包含这些内容,才能使语音识别在每个选项卡的加载时工作。
PS:我收到有关 chrome 于 2018 年 10 月在控制台中再次启动音频策略的警告,但我每次使用 p5.speech 时都会收到它们,即使它正在工作。
解决方案
推荐阅读
- jquery - jQuery - 如何将 div 添加到列表中的特定位置到具有相同类的现有项目列表(追加)
- c# - 在 Web 表单中不必要地刷新 asp 图表 c#
- python - python 中的 split 方法是否返回了包含 \u 某些字符的内容以及如何摆脱它?
- unity3d - 无法在 Unity 中绘制流畅的线条
- android - 向微调器添加类似提示的行为
- html - 如何在 ngb-tabset 中以角度加载组件时获取活动选项卡名称?
- javascript - ASP.NET Core BundleMinifier 在缩小后删除异步修饰符
- reactjs - 如何显示 Firestore 日期时间
- arduino - 使用 sim900 arduino 向 Firebase 函数发送 POST 请求
- php - 为什么我在 phpspreadsheet 的 getCell() 方法中出现错误?