在PB中播放动画和语音

PB播放动画和语音
(深圳:独孤求败 2003-05-27
  PowerBuilder是一套强大的数据库应用系统开发工具。如果能在应用系统的开头播放一小段动画和语音,无疑会使系统赏心悦目、更具风采。
  3DS是基于PC的三维动画制作软件,用户可以直接使用其丰富的材质库及模型文件,能够在较短的时间内制作出优秀的动画效果。采用3DS制作动画封面并渲染成STARTFLC文件。下面主要介绍在PowerBuilder中,通过调用动态链接库(DLL),来播放动画和语音。
   1MCI设备驱动程序的安装
  Windows的媒体播放器中缺省设置只能够播放扩展名为avi的动画文件,要播放flc文件,需要在Windows中装入相应的MCI(媒体控制接口)驱动程序。可在Windows中装入一个小巧的动画播放软件Aaplayw,在安装提示中,注意选择“安装MCI驱动程序”一项,则该驱动程序便自动安装。我们同样也可以采用手动安装的方法,首先拷贝播放动画所需的两个动态库和一个驱动程序:aaplaydllaav gadllmciaapdrvwindowsιsystem目录下, 然后按下面所示修改三个参数配置文件。
  winini文件应有以下内容:
  [mciextensions
  flcΚanimation1
  fliΚanimation1
  aasΚanima tion1
  [IAAnimationEditor
  PlayDisplay ZoomedΚ1
  CleaDisplayΚ1
  HideScriptΚ1
  PlayBarIn ScriptΚ1
  PlayLoopΚ0
  PlayDisplayEr rorsΚ1
  ClearImageAt EndΚ0
  ClearDisplayAtEndΚ0
  DisplayVisibleΚ1
  ImagevisibleΚ1
  ToolBoxVisibleΚ1
  MouseVisibleΚ1
  DisplayZoomedΚ1
  AutoHideScriptΚ1
  IconCommentsΚ1
  IconDataΚ1
  [AAPLAYAnimation
  DualScreenΚ0
  FullScreenΚAAVGADLL
  FullInstalledΚ1
  systemini文件应有以下内容:
  [mci
  Animation1Κmciaapdrv
  controlini文件应有以下内容:
  [driversdesc
  mciaapdrvΚ[MCIAutodeskAnimation110
  安装完毕后再打开媒体播放器,用鼠标选择“设备”菜单项,这时会发现比原来多了一项设备名(AutodeskAnima torAnimation),选择此设备,在打开文件菜单中选择文件时的扩展名列表框中有“ flc文件”类型。先试着播放一下STARTFLC,如果不能播放该动画文件,则可能是设备驱动程序没有安装好,需按上述步骤进行检查。
   2MCI指令
  MCI指令是Windows多媒体环境中非常重要的部分,Windows通过媒体控制接口MCI来主宰MPC多媒体外部设备。MCI指令的语法格式为:
  commanddevice—namearguments
  其中:command:指令名。
  device—name:多媒体设备类型,也可能是文件名或者别名。
  arguments:指令操作参数。
   3.支持多媒体的API函数
  Windows的动态链接程序库mmsys temdll(在WIN32中使用WIN MMDLL),提供了大概一百多个具有多媒体处理能力的API函数,其中包括与MCI指令沟通的API函数。下面的程序设计中我们主要使用了两个函数:mciSendString()和SndPlaySound()。
   4PowerBuilder调用动态链接库来播放动画和语音
  (1)创建窗口winface,定义外部函数,具体方法如下:选取菜单栏“Declare”的菜单项“GlobalExternalFunctions…”,在定义全局函数窗口中书写下列语句:
  FUNCTIONlongmcisendstringstringcommstringretuintegerlengthintegerhwndLI BRARYc:ιwindowsιsystemιmmsystemdll
  FUNCTIONbooleansndPlaySoundstringSoundNameuintFlagsLIBRARY ″c:ιwindowsιsystemιmmsystemdll
  FUNCTIONuintwaveOutGetNumDevs()LI BRARYc:ιwindowsιsystemιmmsystemdll
  注意:如果在Windows95上(win32version),则LIBRARY后应“c:ιwindowsιsystemιwinmmdll
  (2)在窗口winfaceOpen事件中输入程序代码:

  timer001)/ 设定启动时间 
  (3)在窗口winfaceTimer事件中输入程序代码 
  timer0)/ 关闭Timer事件 
  longret
  integernu
  stringcomm1comm2comm3buff
  comm1Κ″openc:ι3dsιimagesιstartflctypeAnima tion1aliaswelcomestylepopup
  comm2Κ″playwelcomefrom1to40speed16wait
  comm3Κ″closewelcome
  setnullbuff
  setnullnu
  retΚmcisendstringcomm1buff0nu)  / 打开动画播放设备 
  retΚmcisendstringcomm2buff0nu)  / 播放封面动画 
  retΚmcisendstringcomm3buff0nu   / 关闭动画播放设备 
  openwmain)/ 打开应用主窗口 
  closethis)/ 关闭winface窗口 
  (4)在应用主窗口w—mainOpen事件中输入程序代码:
  booleana
  uintlui—numdevs
  stringas—filename
  as—filenameΚ″c:ιwindowsιstartwav
  uintai—option
  lui—numdevsΚWaveOutGetNumDevs()
  iflui—numdevsΛ0then
  aΚsndPlaySoundas—filenameai—option
  / 播放话音文件 
  retrun1
  else
  return1
  endif
  (5)在退出应用时播放EXITWAV文件所用语句与播放STARTWAV文件所用语句类似(上述程序在PowerBuilder50中调试通过)。
   5.在PowerBuilder中播放.FLC动画文件的其它几种方法
  (1)通过类用户对象创建动画封面。
  (2)把.FLC文件形成.EXE文件后,用函数RUN(″c:ι3dsιimagesιstartexe″)来运行。

本文发布于:2024-09-21 05:49:45,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/91781.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:播放   动画   文件   设备   安装   多媒体
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议