p5.speech.js连续不会变为真

p5.speech.js continuous won't become true

过去几天我一直在研究 p5.speech.js。我能够在短时间内记录自己,但很快就停止了。后来我才知道有一个continuous bool可以让你一直记录,所以我决定实现它。我使用 "let continuous = true" 将其设置为 true。当我 运行 代码时 p5.speechRec 仍然在控制台中显示错误。当我在底部测试 console.log 时,它的输出也是正确的,所以我有点困惑这是一个错误,chrome 的问题,还是我的错误丢失的。感谢您的帮助。

    var myRec = new p5.SpeechRec(); // new P5.SpeechRec object
function setup()
{
    // graphics stuff:
    createCanvas(800, 400);
    background(255, 255, 255);
    fill(0, 0, 0, 255);
    // instructions:
    textSize(32);
    textAlign(CENTER);
    text("say something", width/2, height/2);
    let continuous = true;
    let interimResults = false;
    myRec.start(continuous, interimResults);
    console.log(myRec);
    function speechRec(){
        if (speechRec.resultValue){
            createP(speechRec.resultString);
        }
    }
    console.log("cont bool: " + continuous);
}

诸如此类的问题最好通过查看相关库的文档来回答。首先查看 the P5.js libraries page, which leads to the p5.speech documentation page here.

该文档页面说 continuousp5.SpeechRec 对象的 属性,它甚至链接到一些示例代码 here.

基本上,您不能只将随机值传递给 start() 函数并期望它起作用。您必须自己设置 continuous 变量:

var myRec = new p5.SpeechRec('en-US', parseResult); // new P5.SpeechRec object
myRec.continuous = true; // do continuous recognition
myRec.start(); // start engine

另外,我不确定你的 setup() 函数中的 speechRec() 函数是做什么的,因为你从未调用过它,但这与你的问题没有直接关系。