用VB写一个你自己的Flash播放器

前天在PConline下了一个孙鑫的《Java从入门到精通》的视频教程,Flash格式,在看的时候感觉很不爽,每一课开始的时候有一大段广 告,而且前面的一部分颇为啰嗦,讲了乱七八糟的东西,不知道是不是因为“入门”的关系,然后就把以前做的一个Flash播放器找出来,直接跳到自己要看的 地方~

要想用VB做一个自己的Flash播放器还是比较方便的,因为Macromedia已经提供了Shockwave Flash控件, 可以方便来的播放Flash影片。要想使用这个控件,首先要在工程里添加这个控件,选中菜单“工程->部件”,找到 Shockwave Flash,打上勾,确定就可以了。另外,因为要加载Flash影片,所以我们还需要加入对话框控件 Microsoft Common Dialog Control。

做这个Flash播放器之前,先用对象浏览器来看一下 Shockwave Flash控件有哪些我们需要的事件、方法和属性。

因为我们做的Flash播放器比较简单,所以没有可以利用的控件事 件。

方法:

Sub Back()

跳 到前一帧,相当于Flash右键菜单中的快退

Function CurrentFrame() As Long

获 取当前播放的为第几帧

Sub Forward()

跳到后一帧,相当于Flash 右键菜单中的快进

Sub GotoFrame(FrameNum As Long)

跳 到指定帧,这是一个相当有用的方法,也是要做这个Flash播放器的理由之一了

Sub Play()

播 放,相当于Flash中的播放

Sub Stop()

停止,需要注意的是这个是停 止,而不是暂停,停止后再开始播放将从第1帧开始

Sub StopPlay()

暂 停,暂停后再播放是继续暂停之前的状态

属性:

Property Movie As String

影 片路径,用来加载要播放的Flash影片

Property Playing As Boolean

是 否正在播放

TotalFrames

Flash影片的总帧数

好了, 有了这些资料就可以开始写自己的Flash播放了~

打开窗体编辑器,先在窗体添加5个按钮,名称和Caption分别 为:cmdOpen("打开"),cmdPlay("播放"),cmdStop("停止"),cmdPrev("前一帧"),cmdNext("后一 帧")。为了能快整跳转,再添加一个水平滚动条,名称为hslFrame。当然,最重要的,Shockwave Flash不能少了,也要添加,名称为 swf。再者要打开文件,所以添加一个Microsoft Common Dialog Control,名称为dlg。

完成窗体的设计,开始编写代码。

' 先给打开按钮添加过程

Private Sub cmdOpen_Click()

dlg.Filter = "Flash(*.swf)|*.swf"  ' 设 置文件名过滤器,只显示Flash文件

dlg.ShowOpen

If dlg.FileName = "" Then Exit Sub ' 如 果用户点了取消则退出处理

swf.Movie = dlg.FileName           ' 加载影片

hslFrame.Max = swf.TotalFrames     ' 获 取总帧数,并赋值给滚动条的最大值

End Sub

' 接着是播放按钮

Private Sub cmdPlay_Click()

If swf.Playing = True Then   ' 如 果正在播放则暂停

swf.StopPlay

cmdPlay.Caption = "播 放" ' 按钮文本设置为“播放”

Else

swf.Play                 ' 否 则就继续播放

cmdPlay.Caption = "暂停" ' 按钮文本设置为“暂停”

End If

End Sub

' 停 止按钮

Private Sub cmdStop_Click()

swf.Stop  ' 停止

End Sub

' 前 一帧按钮

Private Sub cmdPrev_Click()

swf.Back

End Sub

' 后 一帧按钮

Private Sub cmdNext_Click()

swf.Forward

End Sub

' 为 了可以拖动滚动条来进行播放,下面处理hslFrame的OnChange事件

Private Sub hslFrame_Change()

swf.GotoFrame hslFrame.Value  ' 跳 到滚动条值所在的帧

End Sub

好了,一个简单的Flahs播放器就做好了,当然你也可以在这个此基础上加上更多的功能。

发表评论?

0 条评论。

发表评论


注意 - 你可以用以下 HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>