/// <summary> /// Ask agent to speak /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void BtnSpeak_Click(object sender, System.EventArgs e) { AgentServer Srv = new AgentServer(); if (Srv == null) { MessageBox.Show("ERROR: Agent Server couldn't be started!"); } IAgentEx SrvEx; // The following cast does the QueryInterface to fetch IAgentEx interface from the IAgent interface, directly supported by the object SrvEx = (IAgentEx)Srv; // First try to load the default character int dwCharID = 0, dwReqID = 0; try { // null is used where VT_EMPTY variant is expected by the COM object String strAgentCharacterFile = null; if (!strFileName.Equals(string.Empty)) { //Get the acs path strAgentCharacterFile = strPath + strFileName; } else { MessageBox.Show("Select Style"); return; } if (TxtSpeakInput.Text.Equals(string.Empty)) { TxtSpeakInput.Text = "Please enter text in textbox"; } SrvEx.Load(strAgentCharacterFile, out dwCharID, out dwReqID); } catch (Exception) { MessageBox.Show("Failed to load Agent character! Exception details:"); } SrvEx.GetCharacterEx(dwCharID, out CharacterEx); //CharacterEx.SetLanguageID(MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US)); // Show the character. The first parameter tells Microsoft // Agent to show the character by playing an animation. // Make the character speak // Second parameter will be transferred to the COM object as NULL CharacterEx.Speak(TxtSpeakInput.Text, null, out dwReqID); }
/// <summary> /// Show Agent /// </summary> private void ShowAgent() { AgentServer Srv = new AgentServer(); if (Srv == null) { MessageBox.Show("ERROR: Agent Server couldn't be started!"); } IAgentEx SrvEx; // The following cast does the QueryInterface to fetch IAgentEx interface from the IAgent interface, directly supported by the object SrvEx = (IAgentEx)Srv; // First try to load the default character int dwCharID = 0, dwReqID = 0; try { // null is used where VT_EMPTY variant is expected by the COM object String strAgentCharacterFile = null; if (!strFileName.Equals(string.Empty)) { //Get the acs path strAgentCharacterFile = strPath + strFileName; } else { MessageBox.Show("Select Style"); return; } if (TxtSpeakInput.Text.Equals(string.Empty)) { TxtSpeakInput.Text = "Please enter text in textbox"; } //load the acs file SrvEx.Load(strAgentCharacterFile, out dwCharID, out dwReqID); } catch (Exception) { MessageBox.Show("Failed to load Agent character! Exception details:"); } SrvEx.GetCharacterEx(dwCharID, out CharacterEx); //show the agent CharacterEx.Show(0, out dwReqID); }