我刚开始使用 Hololens,并且一直在使用 Microsoft 网站上的教程中的语音识别脚本。我一直在使用 unity 创建 3D 文本,但是,如果我尝试使用语音命令更改文本,它就不起作用!
这是我的以下代码:
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
using UnityEngine.Windows.Speech;
using UnityEngine.UI;
public class VoiceRecognized : MonoBehaviour {
KeywordRecognizer kr = null;
Dictionary<string, System.Action> keywords = new Dictionary<string, System.Action>();
// Use this for initialization
public Text name_text;
private string testName = "Drop";
void begin () {
keywords.Add("Change", () =>
{
this.BroadcastMessage("OnReset");
});
kr = new KeywordRecognizer(keywords.Keys.ToArray());
kr.OnPhraseRecognized += KeywordRecognizer_OnPhraseRecognized;
kr.Start();
}
public void KeywordRecognizer_OnPhraseRecognized(PhraseRecognizedEventArgs args)
{
System.Action keywordAction;
if (keywords.TryGetValue(args.text, out keywordAction))
{
keywordAction.Invoke();
}
}
// Update is called once per frame
void Update () {
}
}
另一个在听到“更改”时更改文本的程序。
using System.Collections;
using System.Collections.Generic;
using UnityEngine.UI;
using UnityEngine;
public class ChangeText : MonoBehaviour {
public Text name_text;
void Start()
{
}
void OnReset()
{
name_text.text = "Change";
}
}
在这段代码中,我使用语音识别脚本将初始文本“Hello World”更改为“Change”。我不确定我的 Unity 是否有问题,但是我目前正在关注微软在他们的教程中所做的一切。