本文详细介绍用ActiveMovie创建媒体文件浏览器
(名称)=AM1
MovieWindowSize=4
ShowPositionControls=True
ShowSelectionControls=True
这样就可以用ActiveMovie控件所提供的控制按钮来播放媒体 文件了;
(5)在Form1的左上方放置一个驱动器列表框控件,然后在其下 方添加一个目录列表框控件,紧接着再在其下方放置一个文件列表 框控件,并修改文件列表框的Pattern属性为*.AVI、*.MOV、*. DAT、*.MPG、*.WAV、*.MID、*.QT、*.MPEG,这是因为 ActiveMoive只能接受这些文件类型,这样,文件列表框就只显示 iveMoive能打开的文件了。
(6)在Drive1的Change事件中添加如下代码后,当改变驱动器 列表框中的盘符时,目录列表框将随之变动;
Private Sub Drive1_Change()
Dir1.Path = Drive1.Drive
End Sub
(7)在Dir1的Change事件中添加如下代码后,改变目录列表框 中的目录时,文件列表框中的目录也将随之变动;
Private Sub Dir1_Change()
File1.Path = Dir1.Path
End Sub
至此,文件浏览系统就创建好了;
(8)在File1的Click事件中添加如下代码后,用户选中某个文 件时,就会将文件名提供给ActiveMovie控件,并将此文件名显示 在窗体的标题栏中;
Private Sub File1_Click()
AM1.filename =
File1.Path & "\" & File1.filename
Caption = AM1.filename
End Sub
(9)在Form1的KeyDown事件中添加如下代码:
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Select Case KeyCode
Case vbKeySpace
Select Case AM1.CurrentState
Case amvStopped
AM1.Run
Case amvRunning
AM1.Pause
Case amvPaused
AM1.Run
End Select
Case vbKeyA
If AM1.MovieWindowSize =_
amvOneHalfScreen Then
AM1.FullScreenMode = True
If AM1.CurrentState =
amvRunning Then
AM1.Pause
AM1.Run
End If
End If
AM1.MovieWindowSize = _
IIf(AM1.MovieWindowSize <4,_
AM1.MovieWindowSize + 1, 4)
Case vbKeyS
AM1.FullScreenMode = False
AM1.MovieWindowSize =_
IIf(AM1.MovieWindowSize > 2,
AM1.MovieWindowSize - 1, 2)
End Select
End Sub
在本事件中,用KeyCode判断用户按下了什么键,如果是 vbKeySpace(空格键),就用ActiveMovie控件的CurrentState属 性来判断当前的状态;如果是amvStopped或amvPaused,就执行播 放命令AM1.Run;如果是amvRunning,就执行暂停命令AM1.Pause; 如果用户按的是"A"键(vbKeyA),就放大屏幕尺寸。由于 ActiveMovie控件的MovieWindowSize属性的取值2、3、4分别表示 1/16屏幕、1/4屏幕、1/2屏幕,所以,为了放大屏幕,只需在此范 围内将MovieWindowSize的属性值加1即可。当MovieWindowSize的 值已经是4,而用户又按下了"A"键时,就要将播放窗口扩大到全 屏,即把FullScreenMode属性设为True,但这时并不立即生效,还 须执行暂停、再播放的过程。注意,在全屏方式下,窗体将失去输 入焦点,快捷键不再起作用,这时只有单击鼠标左键,才能回到刚 才的状态。如果用户按的是"S"键(vbKeyS),则应将 MovieWindowSize的值减1,并且将FullScreenMode属性设为 False。
(10)保存该工程并运行该程序。
3.运行结果
通过目录和文件列表框选择多媒体文件,然后用ActiveMovie 的播放和暂停键操作,或者用空格键播放和暂停,还可以用"A"和 "S"键调整播放窗口的大小x。
责编:豆豆技术应用