IAgentCharacter::Prepare
[自 Windows 7 起弃用 Microsoft Agent,在后续版本的 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
);
检索字符的动画数据。
- 返回 S_OK 表示操作成功。 函数返回时,pdwReqID 包含请求的 ID。
-
dwType
-
表示要加载的动画数据类型的值,必须是下列值之一:
值 说明 const unsigned short PREPARE_ANIMATION = 0; 字符的动画数据。 const unsigned short PREPARE_STATE = 1; 字符的状态数据。 const unsigned short PREPARE_WAVE = 2 用于口语输出的字符声音文件(.WAV 或 .LWV)。 -
bszName
-
动画或状态的名称。
动画该名称基于使用 Microsoft 代理字符编辑器保存字符时为其定义的名称。
状态值可以是下列其中一项:
说明 "Gesturing" 检索所有 Gesturing 状态动画。 "GesturingDown" 检索 GesturingDown 动画。 "GesturingLeft" 检索 GesturingLeft 动画。 "GesturingRight" 检索 GesturingRight 动画。 "GesturingUp" 检索 GesturingUp 动画。 "Hiding" 检索 Hiding 状态动画。 "Hearing" 检索 Hearing 状态动画。 "Idling" 检索所有 Idling 状态动画。 "IdlingLevel1" 检索所有 IdlingLevel1 动画。 "IdlingLevel2" 检索所有 IdlingLevel2 动画。 "IdlingLevel3" 检索所有 IdlingLevel3 动画。 "Listening" 检索 Listening 状态动画。 "Moving" 检索所有 Moving 状态动画。 "MovingDown" 检索所有 Moving 动画。 "MovingLeft" 检索所有 MovingLeft 动画。 "MovingRight" 检索所有 MovingRight 动画。 "MovingUp" 检索所有 MovingUp 动画。 "Showing" 检索 Showing 状态动画。 "Speaking" 检索 Speaking 状态动画。 对于 .WAV 文件,将 bszName 设置为 .WAV 文件的 URL 或文件规范。 如果规范未完成,则会将其解释为相对于 Load 方法中使用的规范。
-
bQueue
-
一个布尔值,指定服务器是否对准备 Prepare 进行排队。 True 对请求进行排队,并导致其后面的任何动画请求等待,直到它指定的动画数据加载完毕。 False 异步检索动画数据。
-
pdwReqID
-
接收 Prepare 请求 ID 的变量地址。
如果使用 HTTP 协议加载字符(一个 .ACF 文件),必须先使用 Prepare 方法检索动画数据,然后才能播放动画。 如果使用 UNC 协议加载字符(a.ACS 文件),则不能使用此方法。 如果使用 UNC 协议加载了该字符(.ACS 字符文件),也不能使用 Prepare 检索字符的 HTTP 数据。
使用 Prepare 方法检索的动画或声音数据存储在浏览器的缓存中。 后续调用将检查缓存,如果动画数据已存在,控件会直接从缓存中加载数据。 加载后,可以使用 Play 或 Speak 方法播放动画或声音数据。
您可以用逗号分隔动画和状态来指定多个动画和状态。 但是,不能在同一 Prepare 语句中混合类型。