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. |