狼行神码

导航

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.

 

posted on 2017-05-26 15:28  狼行神码  阅读(329)  评论(0编辑  收藏  举报