Microsoft Agent. Часть I
28.11.2007 от Иван ШиркоThink("Мысль") Персонаж "думает Мысль", т.е. звука нет, но над персонажем появляется текст Мысли.
Speak("Фраза") Персонаж произносит Фразу.
Вот несколько анимаций для персонажа "Джин":

Пример: Genie.Play("Write");
MsAgent позволяет управлять даже голосом персонажа. Делается это при помощи специальных тэгов, которые нужно добавлять к произносимой фразе:
Тэг Значения и описание
\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\\Привет!");
С помощью представленных команд можно создать довольно эффектную и интерактивную страничку. Про другие команды и свойства мы поговорим в следующей части, когда перейдём к Delphi, а пока рассмотрим несколько аспектов использования MsAgent в web-страничках. Предположим, вы поместили страничку в интернете. Тогда её могут просматривать три вида пользователей:
1) С браузером Internet Explorer и установленной MsAgent;
2) С браузером Internet Explorer без установленной MsAgent;
3) С другим браузером.
Именно эти три случая мы должны обрабатывать в нашей страничке. Сделать это не так и сложно. Вначале запишем функцию HaveAgent, которая будет определять, установлены ли компоненты MsAgent в системе:
Function HaveAgent()
Dim agent
HaveAgent = False
On Error Resume Next
Set agent = CreateObject("Agent.Control.1")
HaveAgent = IsObject(agent)
End Function
Теперь на основе этой функции можно написать шаблон странички, которая будет предусматривать все возможные варианты:
<SCRIPT LANGUAGE=VBSCRIPT>
If HaveAgent() Then
document.write "<H2 align=center>MsAgent найден</H2>"
Else
'Microsoft Agent control was not found.
document.write "<H2 align=center> MsAgent не найден</H2>"
End If
Function HaveAgent()
Dim agent
HaveAgent = False
On Error Resume Next
Set agent = CreateObject("Agent.Control.1")
HaveAgent = IsObject(agent)
End Function
</SCRIPT>
Рубрики: MsAgent |