前天在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 条评论。