使用百度的SDK来进行语音识别,链接:
(非利益相关)
导入进Unity3d中,下面我们分析如何通过结果分支控制交互反馈。
这个包封装了百度的语音识别和语音合成,在此不作结构分析,打开AsrDemo.cs脚本,找到OnClickStopButton()并修改成如下所示:
public void OnClickStopButton()
{
StartButton.gameObject.SetActive(false);
StopButton.gameObject.SetActive(false);
DescriptionText.text = "处理中";
Microphone.End(null);
Debug.Log(Message);
var data = Asr.ConvertAudioClipToPCM16(_clipRecord);
StartCoroutine(_asr.Recognize(data, s =>
{
logic(s);
StartButton.gameObject.SetActive(true);
}));
}
我们在协程中添加一个方法logic(s);这个方法如下图:
实际上,s.result[0]在