有谁用过Flash控件吗?(50分)

  • 主题发起人 主题发起人 zhsunson
  • 开始时间 开始时间
Z

zhsunson

Unregistered / Unconfirmed
GUEST, unregistred user!
有谁用过Flash控件吗?
有什么办法判断Flash文件已经播完?特别是那种元件库文件,一帧里面播放的那种?
 
delphi本身就有的.ACTIVEX控件的...
可以很容易的完成一般操作...一帧我没做过...
 
delphi的ocx控件中就有你自己安装一下,
DELPHI帮助中有祥细的说明你看看;
安装方法:
main menu--components-install activeX ...
 
我并不是说Flash控件怎么安装,,,我是问Flash控件怎么去判断一个Flash文件已经播放完了?看清内容
 
我也有同样的问题,特别是只有一帧的元文件,其实里面是个movie,只是好像那控件不能对里面的进行操作,我对这已经没信心了,现在正在研究flash sdk,可惜英文太菜了:)
 
有一个什么xxxstate属性。。。
当为4的时候就是结束了。。
自己试一下....机器里没Delphi
 
估计比较麻烦,而且什么是Flash动画播完的概念?是所有的Frame都放完了呢?还是动画停住了呢?还是像玩个Flash游戏显示You win或Game over叫完呢?
我想你可能要的是第一个,可是Flash里面还分movieclip,还可能loop,有可能有动画小片段在播放,我想播没播完只有搞动画的人比较清楚 :)
如果你是自己做动画或专门找人做一个,然后放在自已的程序里,就简单了,明确一下影片规格,然后就容易判断了:)
 
而且一般Flash动画都由许多MovieClip组成,有些一直在动,有些有是放一遍.....
可能只有人根据动画的感观的特点来看动画,才知道什么是真结束:)
如果用程序,你可能只能判断那些动画片段是只放一遍的,最后Stop了,但如果这个动画尾加了个loop。。。。。我觉得只有眼睛发黑了.....机器是比较难解决的.
 
看SDK我觉得跟你的要求没什么关系.......因为如果你是用ActiveX来播放的...

建议你如果要实现一个影片播放完来叫电脑做些事,可能最好是叫观看的人点一个按钮来触发事件,而这还无法达到100%的精确.....
 
To:Genl
你说的那个方法,我试试了,你说的那个完成只是加载完成,并不是指播放完成
昨天我用了一个方法,暂时解决了问题,,,当然并不是对所有的有效,那种元件库的会无效
 
刚试着做了一个:使用TShockwaveFlash 的 TotalFrames 和 FrameNum 可以在OnTimer里检测.
 
To: DT
Flash游戏之类的,都是带元件库的,我现在还不能控制,不过像正常的Flash MTV,不带元件库的,不说全部,百分之九十以上还是可以控制了,用的方法和foam说的差不多!
 
引用: http://www.yenet.8u8.com/index2.htm , 2003.7时打开过,刚试时已打不开了。
TShockwaveFlash主要属性如下:
ReadyState:读一个flash文件时的状态,其中包括0=Loading、1=Uninitialized、2=Loaded、3=Interactive  和4=Complete;
  TotalFrames:总帧数,只有当ReadyState = 4时才能访问该属性;
  FrameNum:当前播放的帧;
  Playing:播放或暂停一个flash;
  Quality:指定当前渲染的质量,包括0=Low, 1=High、2=AutoLow、3=AutoHigh;
  ScaleMode:缩放模式,0=ShowAll、1= NoBorder、2 = ExactFit;
  AlignMode:对齐模式,Left=+1、Right=+2、Top=+4、Bottom=+8;
  BackgroundColor:背景色,-1为默认颜色;
  Loop:是否循环;
  Movie:指定播放的flash文件路径,可以为一个URL。

TShockwaveFlash主要方法如下:
Play():开始播放动画;
  Stop();停止播放动画;
  Back();播放前一帧动画;
  Forward():播放后一帧动画;
  Rewind():播放第一帧动画;
  SetZoomRect(int left, int top, int right, int bottom):设置缩放的区域;
  Zoom(int percent):按百分比缩放;
  Pan(int x, int y, int mode):缩放播放面板,其中模式0为按像数、1为按窗口百分比。

TShockwaveFlash主要事件如下:
OnProgress(int percent):读取一个flash时触发;
  OnReadyStateChange(int state):状态改变时触发。states的值可以为0=Loading、1=Uninitialized、  2=Loaded、3=Interactive和4=Complete。
 
>>>>>>>>>
来自:zhsunson, 时间:2004-4-5 13:15:48, ID:2540862
To: DT
Flash游戏之类的,都是带元件库的,我现在还不能控制,不过像正常的Flash MTV,不带元件库的,不说全部,百分之九十以上还是可以控制了,用的方法和foam说的差不多!
>>>>>>>>>>>>>>>>>>>>>
那些FlashMTV并没有经过太仔细的加密.
像ShowGood的一些动画,就是将MTV动画放在元件库中,文件只有三个帧,这种情况就比较复杂了,所以想做得比较完美和通用面广些,大部的AI代码是不可少的.
 
后退
顶部