如何检测语音到文本中是否完成了句子检测(Unity IBM Watson sdk)?

时间:2017-03-06 08:11:44

标签: unity3d ibm-watson

我想在每次完成检测句子时向服务器发送句子。

例如,当它检测到我说话时#34;我该怎么做"。我想把这句话发给服务器。但是,每次尝试构成句子时都会调用以下方法。例如,当我说"我该怎么做"时,它将打印"如何","怎么做","我该怎么做" ;,有一个地方我可以知道一个句子已经完成了吗?

setState

1 个答案:

答案 0 :(得分:4)

响应对象中有final属性。

private void OnRecognize(SpeechRecognitionEvent result)
{
    m_ResultOutput.SendData(new SpeechToTextData(result));

    if (result != null && result.results.Length > 0)
    {
        if (m_Transcript != null)
             m_Transcript.text = "";

        foreach (var res in result.results)
        {
            foreach (var alt in res.alternatives)
            {
                string text = alt.transcript;

                if (m_Transcript != null)
                {
                    // print(text);

                    //m_Transcript.text += string.Format("{0} ({1}, {2:0.00})\n",
                    //  text, res.final ? "Final" : "Interim", alt.confidence);

                    if(res.final)
                    {
                        m_Transcript.text = text;
                        //  do something with the final transcription
                    }
                }
            }       
        }   
    }
}