背景:                 
[本书目录] [图书首页] [本书讨论区]  
链接地址:http://www.17xie.com/read-3402.html    注册17xie 一起来写书 实现您的出书梦想!

2StatusUpdate事件

UpdateInterval属性所给定的时间间隔自动地发生。

格式:

Private Sub MMControl_StatusUpdate()

这一事件允许应用程序更新显示,以通知用户当前MCI设备的状态。应用程序可以从PositionLengthMode等属性中获得状态信息。

3ButtonGotFocus事件

Multimedia MCI控件的按钮接受输入焦点时发生。

格式:

Private Sub MMControl_ButtonGotFocus()

Button可以是以下任意一个:

BackEjectNextPausePlayPrevRecordStepStop

4ButtonLostFocus事件

Multimedia MCI控件的按钮失去输入焦点时发生。

格式:

Private Sub MMControl_ButtonLostFocus()

Button可以是以下任意一个:

BackEjectNextPausePlayPrevRecordStepStop

5ButtonClick事件

当用户在Multimedia MCI控件的按钮上按下并释放鼠标按钮时发生。

格式:

Private Sub MMControl_ButtonClick(Cancel As Integer)

Button可以是以下任意一种:

BackEjectNextPausePlayPrevRecordStepStop

按照缺省规定,当用户选取按钮时,每个ButtonClick事件都执行一条MCI命令。表9-5表列出了控件中的每一个按钮相对应的MCI命令。

9-5  控件中的每一个按钮相对应的MCI命令

Button

   

Button

   

Back

MCI_STEP

Next

MCI_SEEK

Step

MCI_STEP

Stop

MCI_STOP

Play

MCI_PLAY

Record

MCI_RECORD

Pause

MCI_PAUSE

Eject

使用MCI_SET_DOOR_OPEN参数的MCI_SET

Prev

MCI_SEEK

 

 

ButtonClickCancel参数设置为True,阻止执行默认的MCI命令。如果设置为False,则执行相应的ButtonClick事件之后,执行与按钮相关的MCI命令。

例如,通常单击Play按钮后,应该播放指定的文件,但如果在PlayClick事件中将参数Cancel设置成True,则会阻止执行Play功能,因此指定的文件没有被执行。

6ButtonCompleted事件

Multimedia MCI控件激活的MCI命令结束时发生。

格式:

Private Sub MMControl_ButtonCompleted(Errorcode As Long)

Button可是以下任意一种:

BackEjectNextPausePlayPrevRecordStepStop

参数Errorcode如果设置为0,则命令成功地完成;如果设置为其他值,则命令没有成功地完成。

ButtonClick事件中,如果参数Cancel被设置为True,则不触发ButtonCompleted事件。

实例92  Multimedia MCI控件录音和播放多媒体文件

新建一个窗体,设置其MaxButton属性为False。在上面画两个标签,一个框架,六个命令按钮,再画一个通用对话框(Common Dialog)控件,一个Multimedia MCI控件。其界面如图9-6所示。

注意:Multimedia MCI控件默认不在工具箱中,添加它的方法为:单击“工程”菜单的“部件”命令,在弹出的“部件”对话框中选择“控件”选项卡,向下拖动滚动条,找到“Microsoft Multimedia Control 6.0”,选中这个ActiveX控件,单击确定即可。

9-6  Multimedia MCI控件录音和播放多媒体文件设计界面

在其代码窗口中输入如下代码:

Option Explicit

Dim PlayFileName As String

Dim OnceMore As Integer

Private Sub Form_Load()

Me.Caption = "Multimedia MCI控件编写的录放音工具软件"

OnceMore = 1:Frame1.Caption = "录音与放音":Command1.Caption = "录音"

Command2.Caption = "停止录音":Command3.Caption = "放音"

Command4.Caption = "停止放音":Command5.Caption = "打开..."

Command6.Caption = "退出":Command2.Enabled = False:Command3.Enabled = False

Command4.Enabled = False:Label1.Caption = Space(0):Label2.Caption = Space(0)

MMControl1.Visible = False:MMControl1.AutoEnable = True

MMControl1.Notify = True:MMControl1.Wait = True

MMControl1.Shareable = False:MMControl1.UpdateInterval = 0

End Sub

Private Sub Command1_Click()

MMControl1.Command = "Stop":MMControl1.Command = "Close"

CommonDialog1.FileName = "未命名":CommonDialog1.CancelError = True

On Error GoTo Errhandler:CommonDialog1.Flags = cdlOFNOverwritePrompt

CommonDialog1.Filter = "Wave Files(*.WAV)|*.WAV"

CommonDialog1.ShowSave:PlayFileName = CommonDialog1.FileName

Label1.Caption = "正在录音..."

If Command4.Enabled = True Then

   Command4_Click

End If

If Dir$(PlayFileName) <> Space(0) Then Kill PlayFileName

MMControl1.UpdateInterval = 50:MMControl1.DeviceType = "WaveAudio"

MMControl1.FileName = PlayFileName:MMControl1.Command = "Open"

MMControl1.Command = "Record":Command1.Enabled = False

Command2.Enabled = True:Command3.Enabled = False:Command5.Enabled = False

Me.Caption = PlayFileName

Errhandler:

  Exit Sub

End Sub

Private Sub Command2_Click()

Label1.Caption = "已经停止录音...":MMControl1.Command = "Save"

MMControl1.Command = "Stop":MMControl1.Command = "Close"

Command2.Enabled = False:Command1.Enabled = True:Command3.Enabled = True

Command5.Enabled = True

End Sub

Private Sub Command3_Click()

Label1.Caption = "正在放音...":MMControl1.FileName = PlayFileName

MMControl1.Command = "Open":MMControl1.Command = "Prev"

MMControl1.Command = "Play":Command1.Enabled = False

Command3.Enabled = False:Command4.Enabled = True

End Sub

Private Sub Command4_Click()

Label1.Caption = "停止放音...":MMControl1.Command = "Stop"

MMControl1.Command = "Close":Command1.Enabled = True

Command3.Enabled = True:Command4.Enabled = False:OnceMore = 1

End Sub

Private Sub Command5_Click()

CommonDialog1.CancelError = True:On Error GoTo Errhandler

CommonDialog1.Filter="*.mpg|*.mpg|*.avi|*.avi|*.wav|*.wav|*.mid|*.mid|*.dat|*.dat|*.*|*.*"

CommonDialog1.FilterIndex = 3:CommonDialog1.ShowOpen

PlayFileName = CommonDialog1.FileName

If PlayFileName <> Space(0) Then

Select Case UCase(Right(PlayFileName, 3))

  Case "WAV"

    MMControl1.DeviceType = "WaveAudio"

  Case "DAT", "MPG"

    MMControl1.DeviceType = "MpegVideo"

  Case "AVI"

    MMControl1.DeviceType = "AVIVideo"

  Case "MID"

    MMControl1.DeviceType = "Sequencer"

  Case "CDA"

    MMControl1.DeviceType = "CDAudio"

  Case Else

    Exit Sub

End Select

MMControl1.Command = "Close":MMControl1.FileName = PlayFileName

MMControl1.Command = "Open":MMControl1.Command = "Play"

Command3.Enabled = False:Command4.Enabled = True

Me.Caption = PlayFileName:OnceMore = 0

End If

Errhandler:

  Exit Sub

End Sub

Private Sub Command6_Click()

Unload Me

End Sub

Private Sub Form_Unload(Cancel As Integer)

MMControl1.Command = "Close"

End Sub

Private Sub MMControl1_Done(NotifyCode As Integer)

If Command4.Enabled = True And OnceMore Then

   Command4_Click

End If

End Sub

Private Sub MMControl1_StatusUpdate()

Label2.Caption = "当前帧数:" + Trim(Str(MMControl1.Position))

End Sub

运行这个窗体,效果如图9-7所示。

9-7  正在录音

9.3  ActiveMovie控件

ActiveMovie控件可以播放MPEGAVIWAVMOV等多媒体文件。用ActiveMovie播放动画文件时,可以显示当前的播放时间或当前的播放帧。

实例93  ActiveMovie控件播放声音和视频文件

新建一个窗体,设置其MaxButton属性为False。在上面画一个标签,三个命令按钮,一个通用对话框(Common Dialog)控件,一个ActiveMovie控件。其界面如图9-8所示。

9-8  ActiveMovie控件播放声音和视频文件设计界面

注意:ActiveMovie控件默认不在工具箱中,添加它的方法为:单击“工程”菜单的“部件”命令,在弹出的“部件”对话框中单击浏览按钮,在C:\WINDOWS\SYSTEM中找到AMOVIE.OCX文件,双击之,就会在“控件”选项卡中找到“Microsoft ActiveMovie Control”,选中它,单击确定即可。

在其代码窗口中输入如下代码:

Option Explicit

Private Sub Form_Load()

Me.Caption = "可以播放音频和视频文件的多媒体播放器"

Label1.AutoSize = True

Label1.Caption = "支持*.AVI,*.WAV,*.MID,*.MP3,*.MOV,*.MPG,*.DAT,*.RMI"

Command1.Caption = "打开":Command2.Caption = "停止"

Command3.Caption = "退出":Command2.Enabled = False

End Sub

Private Sub Command1_Click()

Dim FName As String

CommonDialog1.CancelError = True:On Error GoTo Errhandler

CommonDialog1.Filter="*.avi|*.AVI|*.wav|*.WAV|*.mid|*.MID|*.mp3|*.MP3|*.mov|*.MOV|*.mpg|*.MPG|*.dat|*.DAT|*.RMI|*.rmi|*.*|*.*"              '设置扩展名

CommonDialog1.ShowOpen

FName = CommonDialog1.FileName

ActiveMovie1.FileName = CommonDialog1.FileName:Command2.Enabled = True

Exit Sub

Errhandler:

  Exit Sub

End Sub

Private Sub Command2_Click()

ActiveMovie1.Stop

End Sub

Private Sub Command3_Click()

Unload Me

End Sub

运行这个窗体,效果如图9-9所示。

9-9  正在播放AVI文件

9.4  Windows Media Player控件

Windows Media Player控件支持的文件类型比较丰富,可以播放WAVMIDMP3WMAAIFASFMPEGMPGAVIMOVDATRMI等多媒体文件,可以在线播放网上的音视频节目。用Windows Media Player控件播放文件时,可以显示播放文件的总时间和已经过去的时间,可以调节音量,并且提供了播放暂停停止快进快退向后跳进向前跳进等按钮,可以方便地控制文件的播放。

Windows Media Player控件提供了一个进度条来显示播放进度。运行时,用户可以拖动进度条中的滑块来调节播放的进度。在播放窗口上单击右键,可以看到该控件提供的快捷菜单,通过该快捷菜单,可以控制与管理正在播放的文件。例如,选择“停止”,可以暂停文件的播放;选择“缩放”子菜单下的缩放比例,可以按指定的比例缩放窗口;选择“另存为(A”,可以将当前正在播放的文件保存到指定位置。


字数:7548    最后更新:1年以前 [09-06 03:56]我爱钱 修改
本页编辑者:我爱钱  
[前一页]:第九章  [后一页]:第九章
[在本页中加入书签] [收藏本书] [推荐本书]
  17xie论坛 > 本书讨论区 > 本页评论   (共0条)
发表评论

用户名称 匿名发表
评论内容
验证码

关于我们 | 版权声明 | 免责声明 | 诚聘英才 | 联系我们 | 合作伙伴 | 友情链接 | 广告合作 | 提交意见
Copyright © 2007 17xie.com 互联网协同写书平台 京ICP备08002671号