Метод speak

[Агент Майкрософт не рекомендуется использовать в Windows 7 и может быть недоступен в последующих версиях Windows.]

Описание

Произносит указанный текстовый или звуковой файл для указанного символа.

Синтаксис

агент**. Символы ("CharacterID"). Speak** [Text], [URL]

Часть Описание
Text Необязательный элемент. Строка, указывающая, что говорит символ.
Url Необязательный элемент. Строковое выражение, указывающее расположение звукового файла (. WAV или . Формат LWV). Расположение можно указать в виде файла (включая спецификацию пути UNC) или URL-адреса (если данные анимации символов также извлекаются по протоколу HTTP).

 

Комментарии

Хотя параметры Text и URL являются необязательными, необходимо указать один из них. Чтобы использовать этот метод с символом, настроенным только на выноске слова, или с помощью модуля преобразования текста в речь (TTS), просто укажите параметр Text . Включите пробел между словами, чтобы определить соответствующие разрывы слов в выноске слов, даже для языков, которые традиционно не содержат пробелов.

Вы также можете включить символы вертикальной полосы (|) в параметр Text для обозначения альтернативных строк, чтобы сервер случайным образом выбирает другую строку при каждой обработке метода.

Поддержка символов выходных данных TTS определяется при компиляции символа с помощью редактора символов Microsoft Agent. Чтобы создать выходные данные TTS, перед вызовом этого метода необходимо установить совместимое подсистему TTS. Дополнительные сведения см. в разделе Доступ к службам распознавания речи.

Если используется записанный звуковой файл (. WAV или . Выходные данные только в формате LWV для символа, укажите расположение файла в параметре Url . Эта спецификация файла может включать локальный (абсолютный или относительный) или UNC-путь. Имя файла не может содержать символы, не включенные в кодовую страницу США 1252. Однако если вы используете протокол HTTP для доступа к данным анимации символов, используйте метод Get , чтобы загрузить анимацию перед вызовом метода Speak . Сведения о творчестве см. в статье Использование средства редактирования звуков лингвистической информации (Майкрософт ). Файлы LWV.

При использовании записанных выходных данных звукового файла можно по-прежнему использовать параметр Text , чтобы указать слова, которые отображаются в выноске слова символа. Однако при указании лингвистически улучшенного звукового файла (. LWV) для параметра Url и не указывайте текст для слова balloon, параметр Text использует текст, хранящийся в файле.

Параметры выходных данных речи можно также изменять с помощью специальных тегов, которые вы включаете в параметр Text . Дополнительные сведения см. в разделе Теги вывода речи Microsoft Agent.

Если объявить ссылку на объект и задать для нее этот метод, он возвращает объект Request . Его можно использовать для синхронизации других частей кода с речевой выводом символа, как показано в следующем примере:

   Dim SpeakRequest as Object
...
   Set SpeakRequest = Genie.Speak ("And here it is.")
...
   Sub Agent1_RequestComplete (ByVal Request as Object)
   ' Make certain the request exists
   If SpeakRequest Not Nothing Then
      ' See if it was this request
      If Request = SpeakRequest Then
         ' Display the message box 
         Msgbox "Ta da!"
      End If
   End If
   End Sub

Объект Request также можно использовать для проверка для определенных условий ошибок. Например, если вы используете метод Speak для речи и не установили совместимое подсистему TTS, сервер устанавливает для свойства Объекта ЗапросаСостояние значение "сбой", а для свойства Description — значение "Класс не зарегистрирован" или "Неизвестная ошибка или возвращен объект". Чтобы определить, установлен ли модуль TTS, используйте свойство TTSModeID .

Аналогичным образом, если у вас есть попытка проговорить звуковой файл, а файл не был загружен или возникла проблема со звуковым устройством, сервер также устанавливает для свойства Объекта Запросасостояние значение "сбой" с соответствующим номером кода ошибки.

Вы также можете добавить теги речи закладок в текст speak для синхронизации кода:

   Dim SpeakRequest as Object
...
   Set SpeakRequest = Genie.Speak ("And here \mrk=100\it is.")
...
   Sub Agent1_Bookmark (ByVal BookmarkID As Long)
   If BookmarkID = 100 Then
      ' Display the message box 
         Msgbox "Tada!"
      End If
   End Sub

Дополнительные сведения о теге речи закладки см. в разделе Теги вывода речи.

Метод Speak использует последнее воспроизводимые действия, чтобы определить, какую анимацию говорить следует воспроизводить. Например, если перед командой "Говорить" перед ней была задана функция Play "GestureRight", сервер будет воспроизводить GestureRight, а затем анимацию распознавания речи. Если последняя воспроизводимая анимация не содержит анимации речи, агент воспроизводит анимацию, назначенную состоянию говоря .

Если вы вызываете функцию "Говорить" и аудиоканал занят, аудиоданные символа не будут услышаны, но текст будет отображаться в слове "воздушный шар".

Автоматическое разбиение слов агентом в слове на выноске разбивает слова с помощью символов пробела (например, пробела или табуляции). Тем не менее, если он не может, он может нарушить слово, чтобы поместить воздушный шар. В таких языках, как японский, китайский и тайский, где пробелы не используются для разбиения слов, вставьте символ нулевой ширины Юникода (0x200B) между символами, чтобы определить логические разрывы слов.

Примечание

Для отображения текста в свойстве Включено слова balloon также должно быть задано значение True .

 

Примечание

Задайте идентификатор языка символа (путем задания идентификатора языка символа перед использованием метода Speak , чтобы обеспечить отображение соответствующего текста в слове.

 

См. также:

Событие Закладки, Событие RequestStart, Событие RequestComplete