我刚刚开始使用Hololens,并且一直在处理Microsoft网站上教程中的语音识别脚本。我一直在使用统一来创建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“更改为" change”。我不确定我的团结是否有问题,但我目前正在跟踪微软在他们的教程中所做的一切。
发布于 2017-03-17 07:27:26
试着在单击按钮时调用相同的方法,看看这是否有效。您可以使用Debug.Log查看是否使用语音命令调用方法。
https://stackoverflow.com/questions/40952397
复制相似问题