IAgentCharacter::Speak
[Microsoft Agent является нерекомендуемым начиная с Windows 7 и может быть недоступен в последующих версиях Windows.]
HRESULT Speak(
BSTR bszText, // text to speak
BSTR bszURL, // URL of a file to speak
long * pdwReqID // address of a request ID
);
Произносит текст или звуковой файл.
- Возвращает S_OK, указывающее, что операция была успешной.
-
bszText
-
Текст, который будет произносить символ.
-
bszURL
-
URL-адрес (или спецификация файла) звукового файла, используемого для вывода речи. Это может быть стандартный звуковой файл (. WAV) или лингвистически улучшенный звуковой файл (. LWV).
-
pdwReqID
-
Адрес переменной, которая получает идентификатор запроса Speak .
Использование этого метода с символом, настроенным для речи с помощью обработчика преобразования текста в речь (TTS); Просто укажите параметр bszText . Вы можете включить символы вертикальной линейчатой черты (|) в параметр bszText для обозначения альтернативных строк, чтобы каждый раз, когда сервер обрабатывает метод, он случайным образом выбирает другую строку. Поддержка выходных данных TTS определяется при компиляции символа с помощью редактора символов агента Майкрософт.
Если вы хотите использовать выходные данные звукового файла для символа, укажите расположение файла в параметре bszURL . При использовании протокола HTTP для скачивания звукового файла используйте метод Prepare , чтобы убедиться в доступности файла перед использованием этого метода. С помощью параметра bszText можно указать слова, которые отображаются на выноске символа. Если указать лингвистически улучшенный звуковой файл (. LWV) для параметра bszURL и не указывайте текст, параметр bszText использует текст, хранящийся в файле.
Метод Speak использует последнюю воспроизводимую анимацию, чтобы определить, какую анимацию говорить воспроизводить. Например, если перед командой Speak добавить IAgentCharacter::P lay "GestureRight", сервер будет воспроизводить жестовую анимацию , а затем анимацию speaking GestureRight . Если последняя воспроизводимая анимация не содержит говорения, microsoft Agent воспроизводит анимацию, назначенную состоянию говоря.
Если вы вызываете функцию Speak и аудиоканал занят, аудиоданные символа не будут услышаны, но текст будет отображаться на выноске слова. Для отображения текста свойство выноски также должно иметь значение True .
Автоматическое разбиение слов в microsoft Agent на выноске, разбивает слова с помощью пробелов (например, пробела и табуляции). Тем не менее, он может разорвать слово, чтобы соответствовать воздушный шар, а также. В таких языках, как японский, китайский и тайский, где пробелы не используются для разбиения слов, вставьте символ нулевой ширины Юникода (0x200B) между символами, чтобы определить логические разрывы слов.
Примечание
Задайте идентификатор языка символа (с помощью IAgentCharacterEx::SetLanguageID перед использованием метода Speak , чтобы обеспечить соответствующее отображение текста в выноске слова).
См. также:
IAgentCharacter::P lay, IAgentBalloon::GetEnabled, IAgentCharacter::P repare