版本: Unity 6 (6000.0)
语言英语
  • C#

DictationRecognizer

UnityEngine.Windows.Speech 类

/

实现于:UnityEngine.CoreModule

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交内容,但我们会阅读用户提出的每个建议的更改,并在适用的情况下进行更新。

关闭

提交失败

由于某些原因,您的建议更改无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

描述

DictationRecognizer 监听语音输入并尝试确定说了什么短语。

用户可以注册并监听假设和短语完成事件。Start() 和 Stop() 方法分别启用和禁用语音识别。完成识别器后,必须使用 Dispose() 方法释放其使用的资源。如果在垃圾回收之前没有释放这些资源,它们将在垃圾回收期间自动释放,但这会带来额外的性能成本。

using UnityEditor;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.Windows.Speech;

public class DictationScript : MonoBehaviour { [SerializeField] private Text m_Hypotheses;

[SerializeField] private Text m_Recognitions;

private DictationRecognizer m_DictationRecognizer;

void Start() { m_DictationRecognizer = new DictationRecognizer();

m_DictationRecognizer.DictationResult += (text, confidence) => { Debug.LogFormat("Dictation result: {0}", text); m_Recognitions.text += text + "\n"; };

m_DictationRecognizer.DictationHypothesis += (text) => { Debug.LogFormat("Dictation hypothesis: {0}", text); m_Hypotheses.text += text; };

m_DictationRecognizer.DictationComplete += (completionCause) => { if (completionCause != DictationCompletionCause.Complete) Debug.LogErrorFormat("Dictation completed unsuccessfully: {0}.", completionCause); };

m_DictationRecognizer.DictationError += (error, hresult) => { Debug.LogErrorFormat("Dictation error: {0}; HResult = {1}.", error, hresult); };

m_DictationRecognizer.Start(); } }

语音识别目前仅在 Windows 10 上可用,并且要求用户在语音隐私策略中允许语音识别(设置 - > 隐私 - > 语音、墨迹和键入)。如果未启用语音识别,DictationRecognizer 将在 Start 上失败。开发人员可以通过提供 DictationError 委托并测试 SPERR_SPEECH_PRIVACY_POLICY_NOT_ACCEPTED (0x80045509) 来以应用程序特定方式处理此失败。

属性

AutoSilenceTimeoutSeconds由于缺少音频输入而导致语音识别器会话结束之前的秒数长度。
InitialSilenceTimeoutSeconds在当前会话中没有听到任何音频的情况下,由于缺少音频输入而导致语音识别器会话结束之前的秒数长度。
状态指示语音识别器的状态。

构造函数

DictationRecognizer使用指定的最低置信度和语音识别主题约束创建 DictationRecognizer。低于指定最低级别的短语将被忽略。

公共方法

Dispose释放此语音识别器使用的资源。
Start启动语音识别会话。只有在 PhraseRecognitionSystem 未运行的情况下才能启动语音识别器。
Stop停止语音识别会话。

事件

DictationComplete识别器会话完成时触发的事件。
DictationError识别器会话遇到错误时触发的事件。
DictationHypothesis识别器更改其对当前片段的假设时触发的事件。
DictationResult指示已使用指定置信度级别识别出短语的事件。

委托

DictationCompletedDelegateDictationComplete 事件的委托。
DictationErrorHandlerDictationError 事件的委托。
DictationHypothesisDelegate指示假设更改事件的回调。您应该注册 DictationHypothesis 事件。
DictationResultDelegate指示已使用指定置信度级别识别出短语的回调。您应该注册 DictationResult 事件。