Microsoft Agent FAQ

В статье "Говорящий гид для вашего сайта" (№14 за 2003 год) я рассказал, как с помощью технологии Microsoft Agent "нанять" для работы на сайте виртуального гида, говорящего на многих современных языках, включая русский. После этой публикации мне на почтовый ящик пришло довольно много вопросов, касающихся MsAgent. Предлагаю некоторые из них вашему вниманию (разумеется, с ответами).


В примере (
www.agentsample.narod.ru) возникает ошибка, если не установлены компоненты MsAgent. Можно ли избавиться от этого?

Вначале хочу рассказать читателям, что указанный в вопросе пример представляет из себя следующее: простая web-страничка, состоящая всего из нескольких ссылок, при наведении мышкой на которые из лампы вылазит говорящий Джин и по-русски объясняет, куда ведет та или иная ссылка.

Теперь объясню, почему появляются ошибки. Эта страничка задумывалась как необходимый костяк для работы с MsAgent и, разумеется, как небольшой обзор возможностей данной технологии. Поэтому никакой обработки ошибок в примере нет. А от ошибок можно избавиться так:

<SCRIPT LANGUAGE=VBSCRIPT>
If HaveAgent() Then
 document.write "Здесь пишем код, если MsAgent установлен"
Else
 document.write "Здесь пишем код, если MsAgent не установлен"
End If
Function HaveAgent()
 Dim agent
 HaveAgent = False
 On Error Resume Next
 Set agent = CreateObject("Agent.Control.1")
 HaveAgent = IsObject(agent)
End Function
</SCRIPT>
<noscript>
<body>
Здесь пишем код для браузеров, которые не поддерживают
VBScript (например, Opera)
</noscript>

Вот так мы можем написать версию сайта для трех различных случаев, добившись этим адекватного отображения web-страниц на разных браузерах. По данному шаблону я переписал пример (www.agentsample.narod.ru), а старая версия лежит здесь: www.agentsample.narod.ru/index2.html.


Можно ли управлять голосом персонажа?

Да, можно, Microsoft позаботилась и об этом. Делается это при помощи специальных тегов, добавляемых к произносимой строке (см. таблицу).

Тег Значения и описание
\Chr="значение"\ Изменяет голос персонажа: "Normal" (по умолчанию) — нормальный голос "Monotone" — монотонный голос "Whisper" — шепот
\Emp\ На следующем за тегом слове делается ударение
\Map="spokentext"= "balloontext"\ Персонаж вслух произносит строку "spokentext", а над ним отображается строка "balloontext". Т.е. персонаж как бы думает одно, а говорит совершенно другое.
\Pau=значение\ Делает паузу, которая длится "значение" миллисекунд
\Pit=значение\ Устанавливает частоту произношения в Герцах
\Rst\ Устанавливает все параметры в исходное состояние
\Spd=значение\ Устанавливает скорость произношения текста в "словах в минуту"
\Vol=значение\ Устанавливает громкость произношения текста (от 0 до 65535)

Пример для JavaScript: Genie.Speak("\\ chr=\"Whisper\" \\\\Pit=18400\ \\\Spd=100\\Привет!");


А если у пользователя не установлен именно тот персонаж, который используется на моей странице, как мне загрузить другой?

Можно вообще не указывать имя персонажа, а воспользоваться константой "Default", которая указывает на стандартного персонажа.


Как самому создать персонаж?

При помощи программы "Microsoft Agent Character Editor" (www.microsoft.com/msagent/downloads/user.asp). Интерфейс у нее вполне стандартный, поэтому, я думаю, подробных пояснений не требуется.


Если у меня нет доступа к интернету, то где мне взять MsAgent и персонажи к нему?

В таком случае можно найти программу на CD, которая использует данную технологию. Программа при установке сама поставит все необходимые компоненты. Могу порекомендовать замечательный переводчик Magic Gooddy.

На этом позвольте откланяться.

Иван ШИРКО,
FDC@tut.by

Версия для печатиВерсия для печати

Номер: 

24 за 2003 год

Рубрика: 

Software
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!