Picture 1. I'm genie
Picture 2. I'm Merlin
Picture 3. I'm Peedy
Picture 4. I'm Robby
Overview
Microsoft� Agent is a software technology that enables an enriched form of user interaction that can make using and learning to use a computer, easier and more natural. Microsoft� Agent is a set of programmable software services that supports the presentation of interactive animated characters within the Microsoft Windows� interface I'm using Microsoft� Agent to develop this announcer. I have used four type of announcers here. They are Genie, Merlin, Peedy and Robby . More.. http://www.microsoft.com/msagent/default.asp.
This class demonstrates the use of following namespaces.
using System.Runtime.InteropServices
using System.Reflection
AgentServerObjects
AgentObjects
Things required, where to get and how to install
- You have to add reference AgentObjects.dll and AgentServerObjects.dll. You can get this two DLLs from F:\Program Files\Microsoft Visual Studio .NET\ FrameworkSDK\Samples\Technologies\Interop\Applications\MSAgent\AgentExplorer. Bear in mind, you have installed .NET in F:.
Or Just go to F:\Program Files\Microsoft Visual Studio .NET\FrameworkSDK\Samples\Technologies\Interop\Applications\MSAgent\Hello1 and take a look at read me.htm file how to get those DLLs. You just give, nmake all
. This command will create AgentObjects.dll and AgentServerObjects.dll in hello1 folder.
Or just use those DLLs from this setup. I have bind these DLLs with this setup.
Assure those 2 DLLs in bin debug/release folder and add reference to solution explorer in you project.
- We have to put .acs in debug or release folder. Announcer will show error if .acs file is not there. You can get four .acs files from
http://www.microsoft.com/msagent/downloads/user.asp. There you get genie, Merlin, Peedy and Robby, Microsoft agent character files (.acs)
and put into release or debug folder.
- Just download and open the MicrosoftAgentApplication.sln file to use it.
Before run this, you have to install Text to speech engine. Download Text-to-Speech Engineer tv_enua.exe American English - 1 MB from here http://www.microsoft.com/msagent/downloads/user.asp. I could not add this with my demo setup due to size restriction.
Just click tv_enua.exe to install. Then announcer is ready to announce anything, sing a song and tell a joke.
Source code
I have given sample code to use it.
using System.Data;
using System.Drawing;
using System.Reflection;
using System.Collections;
using System.Windows.Forms;
using System.ComponentModel;
using System.Runtime.InteropServices;
using AgentObjects;
using AgentServerObjects;
Before we make a function to create an error files, we have to declare some variables that will be used in our function. This is an example of variables declaration and the main function is ErrorRoutine
.
AgentServer Srv = new AgentServer();
if (Srv == null)
{
MessageBox.Show("ERROR: Agent Server couldn't be started!");
}
IAgentEx SrvEx;
SrvEx = (IAgentEx) Srv;
int dwCharID=0, dwReqID=0;
try
{
String strAgentCharacterFile = null;
if (!strFileName.Equals(string.Empty))
{
strAgentCharacterFile = strPath + strFileName;
}
else
{
MessageBox.Show("Select Style");
return;
}
if (!TxtSpeakInput.Text.Equals(string.Empty))
{
SrvEx.Load(strAgentCharacterFile, out dwCharID, out dwReqID);
}
else
{
MessageBox.Show("Enter Text");
return;
}
}
catch (Exception)
{
MessageBox.Show("Failed to load Agent character! Exception details:");
}
IAgentCharacterEx CharacterEx=null;
SrvEx.GetCharacterEx(dwCharID, out CharacterEx);
CharacterEx.Show(0, out dwReqID);
CharacterEx.Speak(TxtSpeakInput.Text, null, out dwReqID);
}
Here, We can select a different announcer and enter different text to speak. Just try it. It is simple to use.
We can create our own character files. Just visit http://www.microsoft.com/msagent/downloads/user.asp to explore more..