Unity 6.3
0 онлайн 67 гостей 3 в системе
Вход

DictationRecognizer

класс в UnityEngine.Windows.Speech

Выполнено в:UnityEngine.CoreModule

Описание

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Продолжительность времени в секундах до окончания сеанса распознавания диктовок из-за отсутствия аудиоввода в случае, если в текущем сеансе не было слышно аудио.
StatusПоказывает статус распознавания диктовок.

Конструкторы

Конструктор Описание
DictationRecognizerСоздать DictationRecognizer с указанным минимальным доверием и ограничением на тему диктования. Фразы ниже указанного минимального уровня будут игнорироваться.

Открытые методы

Метод Описание
DisposeРаспределяет ресурсы, используемые данным распознавателем диктовок.
StartЗапускает сеанс распознавания диктовок. Распознавание диктовок может быть запущено только если PhraseRecognitionSystem не запущено.
StopОстановка сеанса распознавания диктовок.

Мероприятия

Мероприятие Описание
DictationCompleteСобытие, которое запускается при завершении сеанса признания.
DictationErrorСобытие, которое запускается при возникновении ошибки в сеансе распознавания.
DictationHypothesisСобытие, которое запускается, когда распознаватель изменяет свою гипотезу для текущего фрагмента.
DictationResultСобытие, указывающее на фразу, было распознано с указанным уровнем доверия.

Делегаты

делегат Описание
DictationCompletedDelegateДелегат на событие DictationComplete.
DictationErrorHandlerДелегат на событие DictationError.
DictationHypothesisDelegateОбратный вызов, указывающий на событие изменения гипотезы. Вы должны зарегистрироваться с событием DictationHypothesis.
DictationResultDelegateОбратный вызов, указывающий на то, что фраза была распознана с указанным уровнем доверия. Вы должны зарегистрировать событие DictationResult.