FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
ActiveX Microsoft Agent en Delphi
Quisiera saber como puedo utilizar los "ActiveX Microsoft Agent" en mis programas de delphi. yo utilizo la versión 5.
En la sección de columnas aparece un escrito al respecto, pero no he podido encontrar los archivos necesarios. muchas gracias seara2005
__________________
Saludos Seara2005 |
#2
|
|||
|
|||
ActiveX Microsoft
No he recibido ninguna respuesta, el enlace que aparece en el artículo está desactualizado y no sé cual fichero buscar en la página completa.
Si alguien lo ha logrado Por favor que me ayude Muchas gracias
__________________
Saludos Seara2005 |
#3
|
||||
|
||||
www.msagentring.org
En la seccion de descargas tienes que bajar todo lo que hay e instalarlo paso a paso, y por el orden que dice. (da mas de un dolor de cabeza si no se instala en ese orden). Despues en Delphi, Importas el ActiveX Microsoft Agent 2.0 y listo. la documentación sobre los bichitos esos es algo dura, por no decir que no hay nada jejeje, solo un par de ejemplos con código fuente. Saludos |
#4
|
|||
|
|||
Activex Microsoft
Muchas Gracias Lepe, cuando lo pruebe daré mi opinión para que le sirva a los demás que pudieran estar interesados, gracias de nuevo
__________________
Saludos Seara2005 |
#5
|
||||
|
||||
Esperemos que seara2005 escriba pronto para decir como le fué...
En fín, en referencia a la columna publicada sobre Microsoft Agent, añadir que para hacer funcionar y hablar en español a cualquier personaje en una de nuestras aplicaciones, el usuario final de esa aplicación deberá tener una serie de librerias instaladas en Windows (todos los enlaces son del servidor de descargas de Microsoft): - Microsoft Agent v2.0 (en XP no es necesario, pues viene incluido): http://activex.microsoft.com/activex...t2/MSagent.exe - Componentes para que Microsoft Agent use el idioma español : http://activex.microsoft.com/activex...2/AgtX0C0A.exe - Motor Text To Spech (Texto a voz) en español: http://activex.microsoft.com/activex...2/lhttsspe.exe - Controles de voz binarios SAPI 4.0a: http://activex.microsoft.com/activex...pi/spchapi.exe Y, evidentemente, deberá tener al menos un personaje instalado (XP incluye el "Mago"). - Galeria de personajes: http://www.msagentring.org/chars.htm - Página oficial de Ms.Agent: http://www.microsoft.com/msagent/default.asp Salu2. Última edición por German fecha: 11-09-2004 a las 08:21:37. |
#6
|
|||
|
|||
Perdonen a todos los interesados en este tema, es que me he tomado unas vacaciones en el mes de agosto y no he tocado mi PC por varios días.
A partir de hoy les prometo que retomaré el asunto y los mantengo al tanto. Nota: Les aconsejo que no esperen mucho de mí, ya que soy un aprediz del delphi y de este asunto en particular ni hablar. chao
__________________
Saludos Seara2005 |
#7
|
||||
|
||||
Hecho todo lo anterior, solo queda saber como cargar el personaje, ponerlo en pantalla y hacerlo hablar.
Y ya solo queda hacer con él lo que nos apetezca. El tema de averiguar los motores de voz que puede usar y el tipo de voz es algo más complejo. Para un proyecto basico, sobra con esto. Si tienes alguna duda, pinchame un poco Se me olvidaba, hay otras formas de hacerlo hablar, sin usar un objeto "Merlin:IAgentCtlCharacter" pero he observado que despues no lo puedes hacer callar (te da un error en ejecución), por eso trabajo con el objeto IAgetCtlCharacterSuMadreTambien Saludos. Última edición por Lepe fecha: 14-09-2004 a las 17:42:13. |
#8
|
|||
|
|||
Muchas Gracias a todos los que me han ayudado, especialmente a LEPE y a GERMAN.
He confeccionado un programita sencillo y me ha funcionado correctamente. El ayudante aparece, desaparece, habla, etc. esto me sirve como base para utilizarlo en cosas mas complejas. A continuación les describo: - Realicé las Instalaciones en el orden que Germán explica, busqué los archivos necesarios utilizándo sus enlaces. - Despues en Delphi, Importé el ActiveX Microsoft Agent 2.0 mediante el menú component\Import Active X Control...\y lo seleccioné de la lista y click en install. - El la Paleta de componentes en la pestaña de Active X del delphi aparece un Componente llamado Agent. - Confeccioné el programa guiándome por el que aparece elaborado por Lepe anteriormente y algunas cosas tomadas del artículo de la sección de columnas de este club delphi elaborado por Jorge. A continuación les describo el Programa: En el Formulario Inserté un agent y 5 botones (ShowMessage/Opciones/Mostrar/Hablar/Ocultar/Cerrar) A continuación el código completo: ------------------------------------------------------- unit Main; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Buttons, OleCtrls, AgentObjects_TLB, uAgentMessage, StdCtrls, contnrs; type TfrmMain = class(TForm) btnShowMessage: TSpeedButton; Agent: TAgent; ButtonOpciones: TButton; ButtonMostrar: TButton; ButtonHablar: TButton; ButtonOcultar: TButton; ButtonCerrar: TButton; procedure FormShow(Sender: TObject); procedure btnShowMessageClick(Sender: TObject); procedure ButtonOpcionesClick(Sender: TObject); procedure ButtonMostrarClick(Sender: TObject); procedure ButtonHablarClick(Sender: TObject); procedure ButtonOcultarClick(Sender: TObject); procedure ButtonCerrarClick(Sender: TObject); private { Private declarations } public { Public declarations } end; var frmMain: TfrmMain; Agente:String; implementation {$R *.DFM} procedure TfrmMain.FormShow(Sender: TObject); begin Agente:='Genie'; Agent.Characters.Load(Agente, Agente+'.acs'); end; procedure TfrmMain.btnShowMessageClick(Sender: TObject); begin ShowAgentMessage(Agent, 'Hola, Esta es una prueba del Microsoft Office Agent, en Delphi', btnShowMessage, True); end; procedure TfrmMain.ButtonOpcionesClick(Sender: TObject); begin Agent.ShowDefaultCharacterProperties(10,10); end; procedure TfrmMain.ButtonMostrarClick(Sender: TObject); begin with agent do If not visible then Characters.Item[Agente].Show(0); end; procedure TfrmMain.ButtonHablarClick(Sender: TObject); begin Agent.Characters.ITem[Agente].Speak ('Hola',''); end; procedure TfrmMain.ButtonOcultarClick(Sender: TObject); begin with agent do if not visible then Characters.Item[Agente].Hide(0); end; procedure TfrmMain.ButtonCerrarClick(Sender: TObject); begin Close; end; end. ----------------------------------------------------------- He estado probándo algunas cosas, pero como dice Lepe, la documentación sobre esto es escasa, por ejemplo sería interesante darle vida y mostrar las distintas secuencias de animaciones, pero ni modo no he podido. solo mostrarlo, moverlo, ocultarlo, hablar, en fin cosas básicas. Estoy seguro que algo aparecerá mas adelante. Gracias de nuevo, especialmente a Lepe y a Germán
__________________
Saludos Seara2005 |
#9
|
||||
|
||||
Para saber las animaciones, fíjate que en la página que te puse para descargar personajes (http://www.msagentring.org/chars.htm), que hay un enlace "Character Details..." que muestra todas las posibles de cada personaje.
También he encontrado este código para obtener la lista de animaciones de un caracter, aunque no lo he probado: Código:
procedure tForm1.GetAnimationList(IAChar:IAgentCtlCharacterEx;Ts:TStrings); { IAChar : the character like Agent.Characters.Character('Genie') Ts : the TStrings to be filled with the list of his available animations} const IID_IEnumVariant: TGUID = (D1:$00020404;D2:$0000;D3:$0000;D4:($C0,$00,$00,$00,$00,$00,$00,$46)); var pEnum:IEnumVARIANT ; vAnimName:VARIANT ; dwRetrieved:DWORD ; hRes: HResult; begin hRes:=IAChar.AnimationNames.enum.QueryInterface(IID_IEnumVARIANT, pEnum); while (TRUE) do begin hRes:=pEnum.Next(1, vAnimName, @dwRetrieved); if S_OK<>hRes then break; // vAnimName is the animation Name ts.add(vAnimName); //VariantClear(&vAnimName); end; //pEnum.free(); end; end; |
#10
|
|||
|
|||
Que el Agente hable en español y no con acento Ingles
saludos compñeros;
Soy nuevo en el foro, pero viejo programando en Delphi. recien he estado trabajando sobre este Tema de MSAgent para usarlo en nuestras aplicaciones. En fin busque y busque, y las busquedas resultaban infructuosas hasta que llegue a la documentación de Microsoft sobre MSAgent y alli encontre como, bueno tuve que leer y traducir y probar, hacer que nuestros personajes hablen en español y no con acento ingles. Aqui les dejo el codigo, yo lo coloque en el FormCreate, deseo que les sirva de provecho como fue para mi. Se parte del supuesto que tienen instalado todo lo necesario para trabajar con MSAgent ... Agent1.Connected := True; Agent1.Characters.Load('Lorito', 'Peedy.acs'); //ESTO COLOCA EL IDIOMA EN ESPAÑOL //Para establecer el Idioma; Agent1.Characters.Character('Lorito').Set_LanguageID($0C0A); //Para establecer el ID del TTS en español, es la Voz de Julio Agent1.Characters.Character('Lorito').TTSModeID := '{2CE326E1-A935-11d1-B17B-0020AFED142E}'; // Associar o agente à variável Agente Agente := Agent1.Characters['Lorito']; .... "El Hombre Inteligente no es aquel que lo sabe todo sino aquel que sabe aplicar lo poco que sabe" Silver Stone Última edición por comodoro fecha: 14-02-2009 a las 06:27:57. |
|
|
|