当前位置:手游汇攻略 → 教你如何用Unity制作一个类似Siri的问答软件

教你如何用Unity制作一个类似Siri的问答软件[图]

时间:2017-10-31 11:55:19    

重要的就是两个参数 client_ID和client_Secret 的内容,填写到获取token的网页中发上去,获取到token后百度就知道我们是哪个用户哪个软件在调用语音识别了。这里在ios运行的时候有时候会显示获取不到token,原因是苹果不给我们这样发信息获取内容,说不安全,需要用其他办法。其他办法有很多,最笨的方法就是提前获取到token,然后写死在程序,坏处就是一个月会变一次,比较麻烦。好了,现在我们的语音已经传上百度然后转成文字下来, 下一步我采用的是图灵的文字问答系统。图灵这个做的也是非常好用的,直接把我们的问题文字写到url里面打开链接,就可以返回答案了。

private string url = "http://www.tuling123.com/openapi/api?key=d91b25b8866fef13f82cd28c0d523c8a&info=";

private string QuestionUrl= "http://www.tuling123.com/openapi/api?key=d91b25b8866fef13f82cd28c0d523c8a&info=";

public string msg = "";

///

 

/// 获取图灵返回的答案

///

/// 提问的问题

public void GetAnswer(string msg)

{

StartCoroutine(GetTuLingtoken(url msg));

}

private string TuLingtoken = "";

///

 

/// 图灵的问答系统

///

/// 要问的问题

///

private IEnumerator GetTuLingtoken(string url)

{

WWW getTW = new WWW(url);

yield return getTW;

if (getTW.isDone)

{

if (getTW.error == null)

{

TuLingtoken = getTW.text;

TuLingtoken = JsonMapper.ToObject(getTW.text)["text"].ToString();

PlayAudio(TuLingtoken);

}

else

{

Debug.LogError(getTW.error);

}

}

}

到这里我们就获取到我们要回答用户答案的音频了,回答的答案特别骚气。

教你如何用Unity制作一个类似Siri的问答软件[图]图片1

我相信到这一步很多做类似项目的也有不少人做到了,可就是这里没办法做下去了,为什么呢,

因为要用unity把网络的音频下载下来播放是非常麻烦的事情,我至今都没找到办法,就算用c#的办法解决了,可是安卓和ios呢,根本调用不了,再者就是就算你下载下来了,unity好像没有提供外部播放音频的功能,我不知道是我能力不足还是unity的问题,感觉很基本的事情居然没有解决方案。

玩家评论

加载更多

网名(您的评论需要经过审核才能显示) 回复 [ ] 楼取消回复