Version: 2021.1

DictationRecognizer

class in UnityEngine.Windows.Speech

切换到手册

描述

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 上可用,并且要求在用户的语音隐私政策(Settings > Privacy > Speech,inking & typing)中允许听写。如果听写未启用,DictationRecognizer 将会在 Start 上失败。开发者可以通过提供 DictationError 委托和测试 SPERR_SPEECH_PRIVACY_POLICY_NOT_ACCEPTED (0x80045509),以特定于此应用程序的方式处理此故障。

变量

AutoSilenceTimeoutSeconds由于缺乏音频输入,听写识别器会话结束前持续的时长(以秒为单位)。
InitialSilenceTimeoutSeconds由于缺乏音频输入,导致不能在当前会话中听过任何音频,听写识别器会话在结束之前持续的时长(以秒为单位)
Status指示听写识别器的状态。

构造函数

DictationRecognizer使用指定的最小可信度和听写主题约束创建 DictationRecognizer。位于指定最低水平下的短语将被忽略。

公共函数

Dispose处理此听写识别器使用的资源。
Start开启听写识别会话。听写识别只能在不运行 PhraseRecognitionSystem 时启动。
Stop结束听写识别会话。

Events

DictationComplete当识别器会话结束时触发的事件。
DictationError当识别器会话发生错误时触发的事件。
DictationHypothesis当识别器更改它对当前片元的假设时触发的事件。
DictationResult指示已采用指定可信度识别某个短语的事件。

委托

DictationCompletedDelegateDictationComplete 事件的委托。
DictationErrorHandlerDictationError 事件的委托。
DictationHypothesisDelegate指示假设更改事件的回调。您应注册 DictationHypothesis 事件。
DictationResultDelegate指示已采用指定可信度识别某个短语的回调。您应注册 DictationResult 事件。