AAPLAY.DLL函数详解 卢美平 1997-01-01   本文给出了Autodesk Animation Player for Windows的动态链接库AAPLAY.DLL中各函数的功能、用法、返回值、各参数的含义等详尽信息,对于用C、C++或Visual Basic语言设计包含动画、面向Windows应用程序的读者是一篇比较有价值的参考资料。 #3  Open:   语法:   BOOL aaOpen(void)   Declare Function aaOpen Lib "aaplay.dll"() As Integer   说明:   为应用程序初始化动画播放器。如果成功则返回TRUE,否则返回FALSE。   一个应用程序在调用AAPLAY函数库其它函数之前必须首先调用aaOpen。在没有用aaClose函数关闭动画之前不能再次调用该函数。   参数说明:(无) #3  aaGetCaps:   语法:   WORD aaGetCaps(type)   Declare Function aaGetCaps Lib "aaplay.dll"(ByVal wType As Integer)As Integer   说明:   返回当前动画播放器的指定的性能信息。   参数说明:   WORD type:指定返回的信息类型。该参数可取下列值之一:   AA_CAP-TIMER-1   精确地返回以毫秒为单位的时间值。如果没有安装多媒体扩充部件,则返回的值是55ms ,否则返回的值是1ms。   AA_CAP-SOUND-2   如果动画播放器不支持伴音则返回零,否则返回非零值。当没有安装多媒体扩充部件或者在system.ini的MCI节中没有驱动时,声音将不能在动画播放器中使用。一些版本的动画播放器即使安装了多媒体部件而且在system.ini的MCI节中安装了驱动程序也不支持伴音。   AA_CAP-SCRIPT-3   如果动画播放器不支持剧本则返回零,否则返回非零值。在旧版本的动画播放器中不支持剧本。 #3  aaClose:   语法:   void aaClose(void)   Declare Sub aaClose Lib"aaplay.dll"()   说明:   aaClose关闭在应用程序中打开的动画播放器,卸出被应用程序装入的任何动画。   无返回值。   如果该函数被调用则AAPLAY的其它动画函数将不能被执行,如果其它函数需要调用则必须用aaOpen重新打开动画播放器。   参数说明:(无) #3  aaLoad:   语法:   HAA aaLoad(lpzFileName,hWnd,wMode,x,y,cx,cy,orgx,orgy)   Declare Function AAload Lib"aaplay.dll"(ByVal FileName As String,ByVal hWnd As Integer,ByVal Mode As Integer,ByVal x As Integer,ByVal y As Integer,ByVal cx As Integer,ByVal cy As Integer,ByVal orgx As Integer,ByVal orgy As Integer)As Integer   说明:   aaLoad函数装入一个动画准备播放,返回一个1-65535之间的数,用于其它函数的调用。一旦一个动画被装入,就可以播放,并且可以用不同的参数控制其播放效果。如果装入失败,则返回NULL。   参数说明:   LPSTR lpzFileName:被装入的动画文件名,该动画文件亦可当作一个剧本的内容被装入,这依赖于wMode的设置。打开动画文件符合通常的Windows对文件的搜索法则:首先搜索当前目录,然后搜索由PATH环境指定的目录。   如果wMode值指出lpzFileName是一个剧本的内容,则动画当作一个无标题剧本的内容被打开。   HWND hWnd:拥有动画的窗口句柄,它必须支持NULL。当窗口、状态及帧同步信息被发送时,它必须给出窗口的相对坐标,接收状态信息以及帧同步信息。使用RegisterWindowMessage函数可取回状态及确认信息数。下面的两条信息常被动画函数使用:   AA_STOP-“AAPLAY Stop”   动画已被停止。如果lParam非零,则动画由于错误被停止。如果应用程序使用aaStop停止一个动画则该信息不被传送。   AA_NOTIFY-“AAPLAY Notify”   当某一个帧出现时发送用户需要的确认信息。参阅aaNotify与aaCancel函数。   WORD wMode:指示动画文件如何被装入,该值是下列值的组合。   AA_MEMORYLOAD-1   把动画装入内存,这需要更多的时间并且可能会因为内存溢出而失败。   AA_HIDEWINDOW-2   通常情况下被停止的动画的当前帧显示在屏幕上。如果该值被加入则动画只在播放时显示当前帧。   AA_NOPALETTE- 4   禁止使用调色板动画。当使用调色板动画时,若使用的颜色超过236种,则一些颜色就会丢失。   AA_RESERVEPALETTE-8   如果调色板动画不能被禁止,该标志将为动画保留所有调色板的准入,如果使用的颜色数值超过236种,则导致一些颜色丢失。如果没有设置该标志而调色板已发生变化,则Windows将发送调色板已改变的消息到屏幕上的所有窗口。这有可能导致动画被立即停止。   为了禁止由于剧本中的动画发生改变或使用aaReLoad重新调入动画时引起调色板已变化的消息被传送,该标志必须在当前动画和下一个动画中被设置。   AA_LOOPFRAME-16   指示在独立于窗口设备的位图动画的末帧与首帧之间选择末帧使循环数增加。该值不能用于Autodesk Animator动画。   AA_FULLSCREEN-32   指示动画满屏播放而不是播放在hWnnd所指的窗口内。   AA_STOPNOTIFY-64   阻止确认信息发送到由hWnd所识别的窗口中。   AA__STOPSTATUS-128   阻止状态信息发送到由hWnd所识别的窗口中。   AA_NOFALL-256   由于内存限制而使动画装入内存失败,增加该值可使动画从磁盘中播放。   AA_BUILDSCRIPT-1024   使用lpzFileName动画文件建立一个无标题的剧本。如果该模式用于旧版本则返回FALSE。   WORD x,y,cx,cy   (x, y):播放窗口内画面起始的左上角坐标。   (cx,cy):指定显示在窗口内动画的宽度和高度。   WORD orgx,orgy   在播放窗口内显示从被动画原画面(orgx,orgy)处开始的画面。 #3  aaUnload:   语法:   BOOL aaUnload(hAa)   Declare Function aaUnload Lib "aaplay.dll"(ByVal hAa As Integer)As Integer   说明:   卸出用aaLoad函数装入的句柄为hAa动画。如果动画正在播放,则被迫停止。aaUnload函数将会询问用户是否保存修改后的剧本。该项可用aaSetParm函数清除修改标识而被禁止。   参数说明:   HAA hAa:调用函数aaLoad返回的窗口句柄。 #3  aaReLoad:   语法:   BOOL aaReLoad(hAa,lpzFileName,wMode,wMask)   Declare Function aaReLoad Lib"aaplay.dll"(ByVal hAa As Integer,ByVal FileName As String,ByVal wMode As Integer,ByVal wMask As Integer)As Integer   说明:   在句柄为hAa的动画窗口内调入另一个动画。如果两个动画使用不同的颜色数,则两个动画调入时在参数wMode中增加AA_RESERPALETTE设置以提高该函数的执行效果。为了调用该函数,已存在的动画必须被停止、暂停或已播放完毕。   参数说明:   HAA hAa:调用函数aaLoad返回的窗口句柄。   LPSTR lpzFileName:装入由lpzFileName所指的动画文件,该动画文件亦可作为剧本的内容被装入,这依赖于wMode值的设置。打开动画文件符合通常的Windows文件的搜索法则:首先搜索当前目录,然后搜索由PATH环境指定的目录。   如果wMode的值表明用lpzFileName建立一个剧本,那么动画作为一个无标题剧本的内容被打开。   WORD wMode:该参数的描述同aaLoad。它增加下列的设置值:   AA_DONTPAINT-512   直到动画开始播放后才允许最初帧出现。   WORD WMask:隐藏设置模式。指定的模式值在变量中被禁止设置而不是设置成该值。 #3  aaPlay:   语法:   BOOL aaPlay(hAa)   Declare Function aaPlay Lib "aaplay.dll" (ByVal hAa As Integer)As Integer   说明:   从当前位置开始播放由aaLoad装入的句柄为hAa的动画。aaPlay在动画开始播放后返回。如果动画正在播放,则返回TRUE。   参数说明:   HAA hAa:调用aaLoad函数返回的窗口句柄。 #3  aaPause:   语法:   BOOL aaPause(hAa)   Declare Function aaPause Lib "aaplay.dll"(ByVal hAa As Integer)As Integer   说明:   暂停正在播放的动画。如果动画已被暂停则返回TRUE。一个暂停的动画等待着重新播放,因此没有其它的满屏动画会被播放。暂停的动画可用aaPlay从当前帧继续播放。   参数说明:   HAA hAa:调用函数aaLoad返回的窗口句柄。 #3  aaStop:   语法:   BOOL aaStop(hAa)   Declare Function aaStop Lib"aaplay.dll"(ByVal hAa As Integer)As Integer   说明:   停止由函数aaPlay播放的动画。如果动画被停止则返回TRUE。被停止的动画重新播放时从第一帧开始,也可以使用aaSetParm函数指定开始帧。   参数说明: #3  HAA hAa:调用函数aaLoad返回的窗口句柄。   aaNotify:   语法:   BOOL aaNotify(hAa,lPosition,lParam)   Declare Functionn aaNotify Lib"aaplay.dll"(ByVal hAa As Integer,ByVal lPosition as long,ByVal lParam as long)As Integer   说明:   为使用DLL的应用程序请求一个帧同步信息,由lPosition指出的帧被播放前该信息立即被发送。lParam是一个被用户设置的用来传递信息的句柄,通常情况下这个传递信息的参数总是使用句柄hAa,如果此时该位置的调用是必须的,则可使用aaGetParm取回。该调用总是同步于动画帧的其它事件。   当一个动画开始播放时,动画播放器会自动产生lParam是0的帧同步信息。如果应用程序请求一个lParam为0的帧同步信息,那么它决定帧同步信息开始发送。   参数说明:   HAA hAa:调用函数aaLoad返回的句柄。   DWORD lPosition:产生帧同步信息的位置。高位字是循环次数,低位字是当前帧位置。   DWORD  lParam:传递给该函数的信息句柄。 #3  aaCancel:   语法:   WORD aaCancel(hAa,lLowPos,lHighPos)   Declare Function aaCancel Lib "aaplay.dll"(ByVal hAa As Integer,ByVal lLowPos as long,ByVal lHighPos as long)As Integer   说明:   取消aaNotify产生的帧同步信息请求,并返回被取消的消息序号。   参数说明:   HAA hAa:调用函数aaLoad返回的窗口句柄。   DWORD lLowPos:确认信息被取消地方的最低的循环和帧数。   DWORD lHighPos:确认信息被取消地方的最高的循环和帧数。 #3  aaPrompt:   语法:   BOOL aaPrompt(hAa,lpName)   Declare Function aaPrompt Lib "aaplay.dll"(ByVal hAa As Integer,ByVal lpName As String)As Integer   说明:   用一个对话框提示用户选择动画的播放参数。   对于一个剧本和正常的动画来说,调用该函数产生的作用不同。对于正常的动画,由用户选择的参数值能被aaGetParm或aaGetParmindirect检索。剧本则可使用aaSave函数将其保存在一个文件里,其内容可使用aaGetParm取回。在旧版本的动画播放器中不能使用剧本。   如果一个剧本被修改,则其被关闭时,aaUnload将询问用户是否保存该剧本。若想禁止被询问可使用aaSetParm将其修改标志设置为零。   参数说明:   HAA hAa:调用aaLoad函数返回的窗口句柄。   LPSTR lpName:对话框的标题,一般设为动画的名字。如果它取NULL,则对话框将没有标题。 #3  aaGetParm:   语法:   LONG aaGetParm(hAa,wType)   Declare Function aaGetParm Lib"aaplay.dll"(ByVal hAa As Integer,ByVal wType As Integer)As Long   说明:   得到当前正在播放的动画的参数值。如果返回0则参数无效。如果动画是剧本的一项内容,则返回当前可视动画的参数。   参数说明:   HAA hAa:调用aaLoad函数返回的窗口句柄。   WORD wType:决定被取回的参数类型:   AA_STATUS-1   返回动画的当前状态。一个动画状态可能是:   AA_STOPPED-1   已被装入尚未播放。   AA_QUEUED-2   动画已被装入且被aaPlay播放,但动画不能开始,因为它是一个满屏动画或一个满屏动画正在播放或兼而有之。一有可能该动画就会被播放。   AA_PLAYING-3   该动画正在播放。   AA_PAUSED-4   该动画被aaPause暂停。   AA_DONE-5   动画已播放完毕但未被停止的瞬间状态,可用aaPlay重新播放或用aaPeLoad重新装入。   AA_FILETYPE-2   返回动画的格式。返回值的含义如下:   AA_FLI-1   FLI格式动画。   AA_DIB-2   Windows DIB格式。   AA_SCRIPT-3   该动画是一个剧本。旧版本的动画播放器从不返回此值。   AA_MODE-3   返回包含当前动画模式的字。这个值除了AA_NOFAIL与AA_BUILDSCRIPT从未被设置外,其余模式的描述与aaLoad中相同。   AA_WINDOW-4   返回一个字,该字包含动画窗口的句柄。   AA_SPEED-5   以毫秒/帧为单位返回动画的播放速度。这是动画当前的播放速度。   AA_DESIGNSPEED-6   以毫秒/帧为单位返回动画设计时的播放速度。   AA_FRAMES-7   返回动画总帧数。如果该动画是DIB文件,直到动画播放完毕后总帧数才可知。如果帧数未知则返回0。   AA_POSITION-8   返回包含动画当前位置的长型数据,高位字是循环次数,低位字是当前帧位置,最初的循环数是0,最初的帧是第0帧。   AA_LOOPS-9   返回动画结束时帧位置的长型数据。返回0表示动画未停止,应调用aaStop函数。该数据的格式与AA_POSITION中的描述相同。   如果高位字是AA_LOOPSOUND(65535),则动画被循环直到声音播放完毕。如果低位字仍然是这个值,这个动画就会伴随声音而结束。否则声音播放完毕后,动画将停止在低位字给出的帧上。   AA_X-10   返回动画播放窗口中动画画面的左上角的X坐标。   AA_Y-11   返回动画播放窗口中动画画面的左上角的Y坐标。   AA_CX-12   返回动画播放窗口中画面的宽度。   AA_CY-13   返回动画播放窗口中画面的高度。   AA_ORGX-14   返回显示在播放窗口中画面左上角的X坐标在原动画中的位置。   AA_ORGY-15   返回显示在播放窗口中画面左上角的Y坐标在原动画中的位置。   动画播放窗口中画面的左上角对应于原动画画面的(ORGX,ORGY)处。   AA_WIDTH-16   返回动画的宽度。   AA_HEIGHT-17   返回动画的高度。   AA_RPTSOUND-18   返回声音被停止前重复的次数,返回0则说明动画结束前声音一直重复,在旧版本的动画播放器中总返回0。   AA_PAUSE-19   以毫秒为单位返回动画结束时暂停的时间长度。    AA_DELAYSND-20   以毫秒为单位返回动画开始后声音延迟的时间,如果该声音在动画播放前已开始,则返回一个负值。旧版本中总返回0。   AA_TRANSIN-21   返回动画开始时过渡的类型。这个类型是下列之一:   AA_CUT-0    无过渡类型。    AA_FADEBLACK-1   动画开始时从黑色淡出。   AA_FADEWHITE-2   动画开始时从白色淡出。   AA_TRANSOUT-22   返回动画结束时的过渡类型。这个类型是下列之一:   AA_CUT-0   无过渡类型。   AA_FADEBLACK-1   渐隐成黑色。   AA_FADEWHITE-2   渐隐成白色。   AA_TIMEIN-23   以毫秒为单位返回动画开始时的过渡时间,持续时间在0.25s到10s之间。   AA_TIMEOUT-24   以毫秒为单位返回动画结束时的过渡时间,持续时间在0.25s到10s之间。   AA_CALLBACK-25   返回用于接收状态及确认信息的窗口句柄。    AA_ANIMWND-26   返回包含动画的窗口句柄。   AA_MODFLAG-100   返回剧本的修改标志。0意味着本剧没有被修改,非0意味着剧本已被修改。   AA_SCRIPTNAME-101   返回包含剧本名的内存句柄。如果剧本无标题或者动画不是一个剧本则返回0。   AA_ANIMATION-102   返回当前可视动画在剧本中的序号。如果是剧本中的第一动画或该动画不是剧本则返回零。   AA_ANIMATIONCOUNT-103   返回剧本中动画的数目。如果不是一个剧本则返回0。   AA_SCRIPTCONTENTS-104   返回包含整个剧本的内存句柄,当剧本以文本文件出现并且它以空字符终止时该句柄包含剧本的内容,如果剧本是空的或该动画不是一个剧本则返回零。   AA_LASTERROR-1001   返回由播放器检查的最后一个错误代码。这个类型应在检测到错误且确定该错误时立即被使用。如果动画句柄是零。则动画播放器为调用的应用程序搜索最后一个错误。如果动画句柄是一个无效的句柄,则动画播放器为拥有动画的应用程序搜索最后出现的错误。错误代码含义如下:   AA_ERR_NOERROR-0   没有发现错误。   AA_ERR_NOMEMORY-256   检测到内存溢出错误。最后一次被动画播放器调用的句柄无效。   AA_ERR_NOMEMORY-258   不能为动画分配系统时间。   AA_ERR_BADSOUND-259   声音不能被打开。   AA_ERR_NOSCRIPT-260   操作错误,需要一个剧本。   AA_ERR_WRITEERR-261   保存剧本时出错。   AA_ERR_BADANIMATION-262   动画不能被打开。   AA_ERR_BADWINDOWHANDLE-512   给动画播放器分配了一个无效的句柄。   AA_ERR_WINDOWCREATE-513   创建动画窗口时出错。   AA_ERR_DLGERROR-514   处理对话框时出现了一个不可预料的错误。   AA_ERR_INVALIDSTATUS-768   函数调用失败,因为动画的当前状态不允许。   AA_ERR_BADDIBFORMAT-769   Windows的DIB文件被损坏。   AA_ERR_BADFILFORMAT-770   Autodesk Animator或Animator Pro的动画文件被损坏。   AA_ERR_UNRECOGNIZEDFORMAT-771   不可识别的文件格式。   AA_ERR_NOSOUND-772   该动画播放器不支持伴音。   AA_ERR_NOTVALIDFORSCRIPTS-773   剧本的要求不被允许,只支持动画。   AA_ERR_INVALIDFILE-774   动画文件句柄无效。   AA_ERR_NOSCRIPTS-775   该动画播放器不支持剧本。   AA_ERR_SPEED-1024   速度无效。速度值必须在19ms-1000ms之内。   AA_ERR_LOOPS-1025   循环数无效。循环数范围为0-999。   AA_ERR_RPTSOUND-1026   声音重复次数无效。它的范围为0-1000   AA_ERR_PAUSE-1027   动画结束时的暂停时间无效。该值范围为0-50000ms。   AA_ERR_TRANSIN-1028   开始时的过渡无效。过渡模式的选择必须是允许的模式值之一。   AA_ERR_TIMEIN-1029   动画开始的过渡时间无效。其范围为250-10000ms。   AA_ERR_TRANSOUT-1030   结束时的过渡无效。过渡模式的选择必须是允许的模式值之一。   AA_ERR_TIMEOUT-1031   结束时的过渡持续时间无效。该值范围为250-10000ms。   AA_ERR_DELAYSND-1032   在动画开始时声音延迟无效。该值在-3000000-3000000ms范围之间。   AA_ERR_INVALIDTYPE-1033   函数aaGetParm、aaSetParm或aaSetParmindirect中的参数类型无效。   AA_ERR_DUPLICATENOTIFY-1280   试图产生一个相同的确认信息。   AA_ERR_NOSWITCH-1536   剧本的一个描述行错过了选择开关或者开关无效。   AA_ERR_PARSELOOPS-1537   剧本行的循环次数无效。   AA_ERR_PARSESPEED-1538   剧本某行的速度值无效。   AA_ERR_BADRPTSOUND-1540   剧本行的声音重复次数无效。   AA_ERR_PARSEPAUSE-1541   剧本行中动画结束时的暂停无效。   AA_ERR_ARSETRANS-1542   过渡值无效。   AA_RR_ARSEDELAYSND-1543   动画开始时的声音延迟无效。   AA_ASTERRORMESSAGE-1002   返回一个句柄。该句柄包含一个由AA_ASTERROR取回的错误代码字串。该字串也许被显示于信息框中。如果在剧本中出现错误,并且出错的动画名字是可知的,这个动画名字将会出现在信息中。如果调用aaSetParm函数,动画播放器也能复制这个信息到一个缓冲区中。 #3  aaGetParmIndirect:   语法:   BOOL aaGetParmIndirect(hAa,lpAparm,wSize)   Declare Function aaGetParmIdirect Lib "aaplay.dll"(ByVal hAa As Integer,lpAp As AAPARMS,ByVal wSize As Integer)As Integer   说明:   得到动画参数结构。该函数使应用程序很容易得到动画的参数。   参数说明:   HAA hAa:调用函数aaLoad返回的窗口句柄。   LPAAPARMS  lpAparm   指向参数结构的长指针。该结构格式如下:   struce {   BYTE aa_status;   /* offset 0 */   BYTE aa_filetype;   /* offset 1 */   BYTE aa_mode;   /* offset 2 */   BYTE aa_bitpix;   /* offset 3 */   HWND aa_hwnd;   /* offset 4 */   int  aa_x,   /* offset 6 */        aa_y,   /* offset 8 */        aa_cx,   /* offset 10*/        aa_cy;   /* offset 12*/   int  aa_orgx,   /* offset 14*/        aa_orgy,   /* offset 16*/   AASPEED aa_speed;   /* offset 18*/   AASPEED aa_desigspeed;   /*offset  20*/   WORD aa_frames;   /*offset  22*/   DWORD aa_positio;   /*offset  24*/   DWORD aa_loops;   /*offset  28*/   WORD aa_rptsound;   /*offset  30*/   WORD aa_pause;   /*offset  32*/   LONG aa_delaysnd   /*offset  34*/   BYTE aa_transin   /*offset  36*/   BYTE aa_transout;   /*offset  37*/   WORD aa_timein;   /*offset  38*/   WORD aa_timeout;   /*offset  40*/   WORD aa_callback;   /*offset  42*/   WORD aa_animwnd;   /*offset  44 */   };   VB中该结构定义如下:   Type AAPARMS   AA_STATUS As Strinng*1:当前动画状态   AA_FILETYPE As String*1:磁盘上文件类型   AA_MODE As String*1:模式标志   AA_BITPIX As String*1:每个象素的位数   AA_WINDOW As Integer:状态信息窗口的句柄   AA_X As Integer:显示窗口的X坐标   AA_Y As Integer:显示窗口的Y坐标   AA_CX As Integer:显示窗口的宽度   AA_CY As Integer:显示窗口的高度   AA_ORGX As Integer:窗口画面的左上角坐标   AA_ORGY As Integer:对应于原画面的(ORGX,ORGY)点   AA_SPEED As Integer:动画播放速度,毫秒/帧   AA_DESIGNSPEED As Integer:设计时的播放速度,毫秒/帧   AA_WIDTH As Integer:以象素为单位的动画宽度   AA_HEIGHT As Integer:以象素为单位的动画宽度   AA_FRAMES As Integer:动画的总帧数   AA_POSITION As Long:当前帧的位置   AA_LOOPS As Long:动画的末尾   AA_PTSOUND As Integer:声音重复次数   AA_AUSE As Integer:末帧保留的毫秒数   AA_ELAYSND As Lont:以毫秒为单位的声音延迟时间   AA_ANSIN As String*1:淡出类型   AA_TRANNSOUT As String*1:淡入类型   AA_TIMEIN As Integer:淡出的时间长度(单位:毫秒)   AA_TIMEOUT As Integer:淡入的时间长度(单位:毫秒)   AA_CALLACK As Integer:信息回持窗口句柄   AA_ANIMWND As Integer:动画播放窗口的句柄   End Type   该结构中各域的含义已在aaGetParm中描述。   WORD wSize:参数结构的长度。 #3  aaSetParm:   语法:   HAA aaSetParm(hAa,wType,wValuel,1Value2)   Declare Function aaSetParm Lib"aaplay.dll"(ByVal hAa As Integer,ByVal wType As Integer,ByVal wValue1 As Integer,ByVal 1Value2 As Long)As Integer   说明:   为播放的动画设置参数。参数wValue1与wValue2的使用依赖参数wType的设置。每个字段的含义同函数aaGetParm中的描述。动画句柄以新设置的参数返回。若不能设置参数值则返回NULL。当返回NULL时,原动画句柄依然有效。   参数说明:   HAA hAa:调用aaLoad返回的窗口句柄。   WORD wType:确定参数设置类型。参数wValue1和1Value2值的含义依赖于该参数的设置。   AA_MODE-3   动画当前模式是wValue1。1Value2的低位字用来隐藏设置模式。模式不能被设置但能通过在隐藏的低位字中增加其值而被禁止。   AA_WINDOW-4   wValue1是动画播放的窗口句柄。如果它不能被改变成另一个窗口句柄,那么回执窗口将被改变。   AA_SPEED-5   wValue1是以毫秒/帧为单位的动画播放速度。   AA_POSITION-8   1wValue2是帧数与循环数。高位字是循环数,低位字是帧数。如果帧数超出动画末帧值,则循环值自增。   wValue1指定开始位置。0:从动画开始处播放,1:从当前帧处开始,2:从动画的结尾处开始。   如果一个动画被停止时设置开始位置,则动画将从被给出的位置处开始而不是从头开始。这种情况下,动画的任何伴音也从当前位置开始。   AA_LOOPS-9   1Value2是动画结束时帧的位置。   如果AA_LOOPS的高位字是AA_LOOPSOUND(65535),那么动画一直循环直到声音结束。如果低位字也是这个值,动画将连通声音一起结束。否则,声音完成之后动画将停止在由低位字给出的帧上。   AA_X-10   wValue1是窗口中画面左上角的x坐标。   AA_Y-11   wValue1是窗口中画面左上角的y坐标。   AA_CX-12   wValue1是动画窗口中画面的宽度。   AA_CY-13   wValue1是动画窗口中画面的高度。   AA_ORGX-14   wValue1是显示在动画窗口的左上角的X坐标在原动画画面中的位置。   AA_ORGY-15   wValue1是显示在动画窗口的左上角的Y坐标在原动画画面中的位置。   AA_RPTSOUND-18   wValue1是声音停止前重复的次数。当动画被停止或暂停时声音通常亦被停止。在旧版本的动画播放器中忽略该参数。   AA_PAUSE-19   wValue1是在动画结束时以毫秒为单位的暂停时间长度。   AA_DELAYSND-20   1Value2是动画开始后以毫秒为单位的声音延迟时间。如果动画播放前声音已开始则为负值。在旧版本的动画播放器中忽略该参数。   AA_TRANSIN-21   wValue1是动画开始的过渡类型。该类型可能是:   AA_CUT-0   无过渡类型。   AA_FADEBLACK-1   从黑色开始淡出。   AA_FADEWHITE-2   从白色淡出。   AA_TRANSOUT-22   wValue1在动画结束时的过渡类型,该值取值如下:   AA_CUT-0   无过渡类型。   AA_FADEBLACK-1   使渐隐成黑色。   AA_FADEWHITE-2   使渐隐成白色。   AA_TIMEIN-23   wValue1是动画开始时以毫秒为单位的淡入时间。该持续时间取值范围为:0.25s-10s。   AA_TIMEOUT-24   wValue1是动画结束时以毫秒为单位的淡入时间。该持续时间取值范围为:0.25s-10s。   AA_CALLBACK-25   wValue1是用来接受状态和确认信息的窗口句柄。   AA_MODFLAG-100   wValue1是剧本的修改标志。0意味着剧本没有被修改,非0意味着剧本已被修改。旧版本的动画播放器中不支持该值。   AA_SCRIPTNAME-101   1Value2是一个指向剧本新名字的指针。如果1Value2是0,则剧本无标题。旧版本的动画播放器中忽略该参数。   AA_ANIMATION-102   1Value2包含将变成可视的动画在剧本中的序号。旧版本的动画播放器中忽略该参数。   wValue1指定开始位置。如果开始位置是动画的开始处则为0,如果开始位置是当前帧则为1,如果开始位置是结尾处则为2。   AA_LASTERRORMESSAGE-1002   由AA_LASTERROR检索到的错误代码的所代表的文本字串被拷贝到一个缓冲区。缓冲区的大小由wValue1给定,缓冲区的地址由1Value2给定。该字串可被显示在信息框中。如果在一个剧本里发生错误且出错的动画名字是已知的,那么动画的名字将出现在信息中。如果使用aaGetParm函数则动画播放器将返回该文本信息句柄。 #3  aaSetParmIndirect:   语法:   HAA aaSetParmIndirect(hAa,dwType,lpAParm,wMask)   Declare Function aaSetParmIndirect Lib"aaplay.dll(ByVal hAa As Integer,ByVal dwType As Long,lpAp As AAPARMS,ByVal wMask As Integer)As Integer   说明:   设置动画参数结构。返回拥有新参数的动画句柄,如果参数设置失败则返回NULL,原动画句柄仍然有效。   参数说明:   HAA hAa:调用aaLoad返回的窗口句柄。   DWORD dwType:为每个参数设置一个屏蔽(二进制)位,当相应的屏蔽位被打开时,可设置该参数。各屏蔽位所代表的值如下:   AA_SETMODE:-1   AA_SETWINDOW:-2   AA_SETSPEED:-4   AA_SETPOSITION:-8   AA_SETLOOPS:-16   AA_SETX:-32   AA_SETY:-64   AA_SETCX:-128   AA_SETCY:-256   AA_SETORGX:-512   AA_SETORGY:-1024   AA_SETRPTSOUND:-2048   AA_SETPAUSE:-4096   AA_SETDELAYSND:-8192   AA_SETTRANSIN:-16384   AA_SETTRANSOUT:-32768   AA_SETTIMEIN:-65536   AA_SETTIMEOUT:-131072   AA_SETCALLBACK:-262144   LPAAPARMS lpApRm:一个指向参数结构的长指针。该结构的描述参阅aaGetParmindirect。   WORD wMask:如果AA_SETMODE在dwType中被设置,则屏蔽指定的模式,而不是在变元中设置该值。该参数仅当AA  SETMODE在dwType中被设置时才起作用。 #3  aaShow:   语法:   BOOL aaShow(hAa,bShow)   Declare Function aaShow Lib"aaplay.dll(ByVal hAa As Integer,ByVal bShow As Integer)As Integer   说明:   显示或隐藏动画播放窗口。该函数独立于参数AA_HIDEWINDOWS的设置。通常情况下隐藏正在播放的动画,显示隐藏的已停止的动画。   参数说明:   HAA hAa:调用aaLoad返回的窗口句柄。   BOOL bShow:如果bShow为TRUE则显示动画窗口,否则隐藏动画窗口。 #3  aaSound:   语法:   BOOL aaSound(hAa,lpszDevice,lpszSound,wMode)   Declare Function aaSound Lib"aaplay.dll"(ByVal hAa As Integer,ByVal device As String,ByVal filea As String,ByVal wMode As Integer)As Integer   说明:   给动画配音。该声音随动画的 开始而开始,随动画的结束而结束,除非声音比动画短。如果声音比动画短,则可使用aaSetParm函数设置AA  RPTSOUND参数循环播音。在旧版本的动画播放器中经常返回FALSE。   适当设置wMode参数,可用别名关联该声音。   参数说明:   HAA hAa:调用aaLoad函数返回的动画窗口句柄。   LPSTR lpszDevice:如果AA_SNDDEVICEID在wMode中没有被设置,该变量包含播放声音的设置名。如果已安装了MCI,这个变量可能是NULL。如果AA_SNDDEVICEID在wMode中被设置,该变元包含交互式多媒体控制的设置标识。   LPSTR lpszSound:或者是播放声音的文件名,或者是一个用来播放声音的命令字串。文件的格式必须被播放它的设备支持。如果由lpszDevice指定的设备没有给出,或者需要一个播放文件,该变量是将要播放的文件名。如果设备播放不能使用文件名(如cdaudio,videodisc,videotape等等),则该参数是包含该设备的一个MCI命令字串。   WORD wMode:该变量给出了声音的模式,下列模式是有效的:   AA_SNDFREEZE-1   通常,当声音准备播放时动画继续播放,设置该值可防止偶然发生意外。   AA_SNDDEVICEID-256   表明设备字串不是声音设备的名字,而是交互式多媒体控制的设备标识。   AA_SNDBUILDALIAS-512   为声音建一个别名,这个别名由“AAPLAY”和十进制的句柄hAa的值形成。该别名能常用来改变声音的播放。 #3  aaGetFile:   语法:   int aaGetFile(wFlags,lpzFileName,wSizeFile,lpzDeviceName,wSizeDevice)   Declare Function aaGetFile Lib "aaplay.dll"(ByVal As Integer,ByVal lpszPath As String,ByVal wBufLen As Integer,ByVal driver As String,ByVal wDrvLen As Integer)As Integer   说明:   提示用户给出一个文件名,由参数lpzFileName拷贝该名字进行定位编址。如果该名字是一个声音文件的名字,那么声音设备名由参数lpzDeviceName拷贝讲入定位编址。如果用户按取消按钮则返回0,如果选择的文件不存在则返回-1,如果选择的文件存在则返回一个正数。   参数说明:   WORD wFlags:用于控制对话框的标志,由下列值复合而成:   AA_GETFILE_MUSTEXIST-1   若设置则在函数aaGetFile返回之前必须输入一个文件。   AA_GETFILE_NOSHOWSPEC-2   如果设置则在文件名编辑控制框里指定的搜索不被显示。   AA_GETFILE_SAVE-4   如果设置该标志OK钮将变为“Save”且标题也变为“Save Animation”。这个设置值自动地设置AA  GETFILE  USEFILE标志。在旧版本的动画播放器中不支持该标志。   AA_GETFILE_OPEN-8   如果设置该标志则OK钮将变为“Open”且标题也变为“Open Animation”。   AA_GETFILE_USEDIR-16   如果该标志被设置则对话框的初始目录由参数lpzFileName指定。   AA_GETFILE_USEFILE-32   如果设置该标志则把参数lpzFileName指定的文件名放在文件名编辑框中。   AA_GETFILE_SOUND-64   如果该标志被设置则在对话框里指定一个声音文件,对话框的标题亦变为读取“Sound”。如果没有用wFlags设置AA_GETFILE_SCRIPT、AA_GETFILE_ANIMATION、AA_GETFILE_SOUND中的任何一个,那么在对话框里使用动画文件和剧本文件,标题为读取“Animation”。   设置该标志在旧版本动画播放器将返回0,并指定按取消按钮。   AA_GETFILE_SCRIPT-128   如果该标志被设置则在对话框里使用动画剧本文件,并且标题变为读取“Script”。如果没有用“wFlags设置AA_GETFILE_SCRIPT、AA_GETFILE_ANIMATION、AA_GETFILE_SOUND中的任何一个,那么在对话框里将使用动画文件和剧本文件,标题为读取“Animation”。   AA_GETFILE_ANIMATION-256   如果该标志被设置则在对话框里指定一个动画文件,标题为读取“Animation”。   如果没有用wFlags设置AA_GETFILE_SCRIPT、AA_GETFILE_ANIMATION、AA_GETFILE_SOUND中的任何一个,那么在对话框里使用动画文件和剧本文件,标题为读取“Animation”。   LPSTR lpzFileName:一个指向键入的文件名字串的指针。   WORD wSizeFile:返回的文件最大长度。   LPSTR lpzDeviceName:一个指向输入的声音设备字串的指针。该参数仅当AA_GETFILE_SOUND标志在wFlags中被设置时有效。   WORD wSizeDevice:返回的声音设备的最大长度。 #3  aaSave:   语法:   int aaSave(hAa,wMode)   Declare Function aaSave Lib"aaplay.dll"(ByVal hAa As Integer,ByVal wMode As Integer)As Integer   说明:   保存句柄是hAa的动画的剧本。如果hAa句柄无效或保存时出现I/O错则返回-1,如果用户取消保存则返回0,否则返回一个正数。旧版本的动画播放器中总返回0。   参数说明:    HAA hAa:调用函数aaLoad返回的窗口句柄。   WORD wMode:保存动画的模式。该值是下列值组合:   AA_SAVE_IFMODIFIED-1   如果剧本被修改则保存。   AA_SAVE_AS-2   提示用户给出一个新的文件名来保存剧本。如果剧本无标题,则不管该标志是否设置都揭示用户输入一个剧本文件名。   AA_SAVE_CANCEL-4   当保存修改过的剧本文件时增加一个“Cancel”按钮提示警告。