p5.speech.js连续不会成为现实

时间:2017-12-19 00:10:39

标签: javascript p5.js

过去几天我一直在玩p5.speech.js。我能够在很短的时间内记录自己,但它会停止。我后来才知道有一个连续的bool可以让你继续录音,所以我决定实现它。我使用" let continuous = true"将其设置为true。当我运行代码时,p5.speechRec在控制台中仍然表示错误。当我测试底部的console.log时,输出也是正确的,所以我有点困惑,如果这是一个bug,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);
}

1 个答案:

答案 0 :(得分:1)

通过查看相关库的文档,可以最好地回答这些问题。首先查看the P5.js libraries page,然后转到p5.speech文档页面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

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