KeywordRecognizer 监听语音输入,并尝试将说出的短语与注册关键字列表匹配。
在任何给定的时间点可能有许多关键字识别器同时处于活动状态,但是没有哪两个关键字识别器监听同一个关键字。
using System; using System.Text; using UnityEngine; using UnityEngine.Windows.Speech;
public class KeywordScript : MonoBehaviour { [SerializeField] private string[] m_Keywords;
private KeywordRecognizer m_Recognizer;
void Start() { m_Recognizer = new KeywordRecognizer(m_Keywords); m_Recognizer.OnPhraseRecognized += OnPhraseRecognized; m_Recognizer.Start(); }
private void OnPhraseRecognized(PhraseRecognizedEventArgs args) { StringBuilder builder = new StringBuilder(); builder.AppendFormat("{0} ({1}){2}", args.text, args.confidence, Environment.NewLine); builder.AppendFormat("\tTimestamp: {0}{1}", args.phraseStartTime, Environment.NewLine); builder.AppendFormat("\tDuration: {0} seconds{1}", args.phraseDuration.TotalSeconds, Environment.NewLine); Debug.Log(builder.ToString()); } }
关键字识别器目前仅在 Windows 10 上可用。
Keywords | 返回创建关键字识别器时提供的关键字列表。 |
KeywordRecognizer | 创建以指定的最低可信度监听指定关键字的 KeywordRecognizer。位于指定最低水平下的短语将被忽略。 |
IsRunning | 判断短语识别器是否在监听短语。 |
OnPhraseRecognized | 当短语识别器识别短语时触发的事件。 |
PhraseRecognizedDelegate | OnPhraseRecognized 事件的委托。 |