使用 IBM Watson 的语音转文本会导致在识别关键字时多次调用方法

Using IBM Watson's speech-to-text causes method to be called more than once when keyword is recognized

我在我的 Unity 程序中使用 IBM Watson Speech-To-Text 来识别语音。在识别语音的 onRecognize() 方法中,我放置了一个 if 语句,如果它识别关键字 "go" 就会调用一个方法。虽然,当单词 "go" 被识别时,该方法被调用了两次或三次而不是应有的一次,这导致程序无法按应有的方式运行。

我想不出任何解决方案,因为我无法更改代码。

//All of this is inside of the onRecognize() method
string text = string.Format("{0} ({1}, {2:0.00})\n", alt.transcript, res.final ? "Final" : "Interim", alt.confidence);
Log.Debug("ExampleStreaming.OnRecognize()", text);
ResultsField.text = text;

//This if statement inside of the onRecognize() method will play an 
//animation if it detects the word "go"
if (alt.transcript.Contains("go"))
{
    anim.Play("move", -1, 0f); //This will play an animation.
}

我希望下面的代码段在检测到单词 "go" 时只调用该方法一次,但它会被调用两次或三次。这导致它看起来有问题,而不是我想要的。任何帮助将不胜感激。

添加检查 res.final?

if (res.final && alt.transcript.Contains("go"))
{
    anim.Play("move", -1, 0f); //This will play an animation.
}