Compartir a través de


IAgentCharacter::Prepare

[Microsoft Agent está en desuso a partir de Windows 7 y puede no estar disponible en versiones posteriores de Windows].

HRESULT Prepare(
   long dwType,     // type of animation data to load
   BSTR bszName,    // name of the animation 
   long bQueue,     // queue the request
   long * pdwReqID  // address of request ID
);

Recupera los datos de animación de un personaje.

  • Devuelve S_OK para indicar que la operación se ha realizado correctamente. Cuando se devuelve la función, pdwReqID contiene el ID de la solicitud.

dwType

Valor que indica el tipo de datos de animación que se va a cargar, que debe ser uno de los siguientes:

Valor Descripción
const unsigned short PREPARE_ANIMATION = 0;
Datos de animación de un personaje.
const unsigned short PREPARE_STATE = 1;
Datos de estado de un personaje.
const unsigned short PREPARE_WAVE = 2
Archivo de sonido de un personaje (. WAV o . LWV) para la salida de voz.

bszName

El nombre de la animación o el estado.

El nombre de la animación se basa en el que se haya definido para el personaje cuando se haya guardado con el Editor de personajes de Microsoft Agent (Microsoft Agent Character Editor).

En cuanto a los estados, los valores pueden ser uno de los siguientes:

Descripción
"Gesturing" Para recuperar todas las animaciones de estado Gesturing.
"GesturingDown" Para recuperar animaciones GesturingDown.
"GesturingLeft" Para recuperar animaciones GesturingLeft.
"GesturingRight" Para recuperar animaciones GesturingRight.
"GesturingUp" Para recuperar animaciones GesturingUp.
"Hiding" Para recuperar las animaciones de estado Hiding.
"Hearing" Para recuperar las animaciones de estado Hearing.
"Idling" Para recuperar todas las animaciones de estado Idling.
"IdlingLevel1" Para recuperar todas las animaciones IdlingLevel1.
"IdlingLevel2" Para recuperar todas las animaciones IdlingLevel2.
"IdlingLevel3" Para recuperar todas las animaciones IdlingLevel3.
"Listening" Para recuperar las animaciones de estado Listening.
"Moving" Para recuperar todas las animaciones de estado Moving.
"MovingDown" Para recuperar todas las animaciones Moving.
"MovingLeft" Para recuperar todas las animaciones MovingLeft.
"MovingRight" Para recuperar todas las animaciones MovingRight.
"MovingUp" Para recuperar todas las animaciones MovingUp.
"Showing" Para recuperar las animaciones de estado Showing.
"Speaking" Para recuperar las animaciones de estado Speaking.

En archivos .WAV, cambie bszName a la dirección URL o la especificación de archivo del archivo .WAV. Si la especificación no está completa, se interpreta como relativa a la especificación usada en el método Load.

bQueue

Valor booleano que indica si el servidor pone en cola la solicitud Prepare. True pone en cola la solicitud y hace que cualquier solicitud de animación que le sigue quede en espera hasta que se carguen los datos de animación que especifica. False recupera los datos de animación de forma asincrónica.

pdwReqID

Dirección de una variable que recibe el ID de la solicitud Prepare.

Si carga un personaje mediante el protocolo HTTP (archivo .ACF), deberá usar el método Prepare para recuperar los datos de animación antes de poder reproducir la animación. No es posible usar este método si ha cargado el personaje mediante el protocolo UNC (archivo .ACS). Tampoco puede recuperar datos HTTP de un personaje mediante Prepare si ha cargado este personaje mediante el protocolo UNC (archivo de personaje .ACS).

Los datos de animación o sonido recuperados con el método Prepare se almacenan en la memoria caché del explorador. Las llamadas posteriores comprobarán la memoria caché y, si los datos de animación ya están allí, el control cargará los datos directamente de la memoria caché. Una vez cargados, los datos de animación o sonido se podrán reproducir con los métodos Play o Speak.

Puede indicar varias animaciones y estados separándolas con comas. Sin embargo, no se pueden mezclar tipos en la misma instrucción Prepare.