Delphi中播放Flash
在delphi中可以直接打开flash动画,并控制它播放和停止,还可以得到它的总帧数。
具体操作步骤:①Component -> Import ActiveX Contrals -> Shockwave Flash -> into new package下一步下一步完成。
②在控件条的ActiveX下发现一个新的控件,名字为ShokewaveFlash。
示例如图所示:
代码如下:
1 unit Unit1; 2 3 interface 4 5 uses 6 Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, 7 Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.OleCtrls, 8 ShockwaveFlashObjects_TLB; 9 10 type 11 TForm1 = class(TForm) 12 ShockwaveFlash1: TShockwaveFlash; 13 OpenDialog1: TOpenDialog; 14 Button1: TButton; 15 Button2: TButton; 16 Button3: TButton; 17 Button4: TButton; 18 Button5: TButton; 19 Button6: TButton; 20 Label1: TLabel; 21 Edit1: TEdit; 22 procedure Button1Click(Sender: TObject); 23 procedure Button2Click(Sender: TObject); 24 procedure Button3Click(Sender: TObject); 25 procedure Button4Click(Sender: TObject); 26 procedure Button5Click(Sender: TObject); 27 procedure Button6Click(Sender: TObject); 28 private 29 { Private declarations } 30 public 31 { Public declarations } 32 end; 33 34 var 35 Form1: TForm1; 36 37 implementation 38 39 {$R *.dfm} 40 41 PRocedure TForm1.Button1Click(Sender: TObject); //打开Flash 42 begin 43 if OpenDialog1.Execute then 44 ShockwaveFlash1.Movie:= OpenDialog1.FileName; 45 ShockwaveFlash1.StopPlay; 46 end; 47 48 procedure TForm1.Button2Click(Sender: TObject); //播放Flash 49 begin 50 ShockwaveFlash1.Play; 51 end; 52 53 procedure TForm1.Button3Click(Sender: TObject); //暂停Flash 54 begin 55 ShockwaveFlash1.StopPlay; 56 end; 57 58 procedure TForm1.Button4Click(Sender: TObject); //关闭Flash 59 begin 60 ShockwaveFlash1.FreeOnRelease; 61 close; 62 end; 63 64 65 procedure TForm1.Button5Click(Sender: TObject); //获取Flash总帧数 66 begin 67 label1.caption:= IntToStr(shockwaveflash1.totalframes ); 68 end; 69 70 procedure TForm1.Button6Click(Sender: TObject); //从Flash某一帧开始播放 71 begin 72 if ShockwaveFlash1.playing then 73 ShockwaveFlash1.GotoFrame(StrToInt(Edit1.Text)); 74 ShockwaveFlash1.Play; 75 end; 76 77 end.