📄 frmmediap.frm
字号:
End Sub
Private Sub mnuFileName1_Click()
m_strPreFileName = arrFileName(m_intFileCount)
FileOpen m_strPreFileName, mnuFileName1.Caption
'改变文件菜单上的当前文件
If m_intFileCount > 0 Then
mnuFileLine.Visible = True
'mnuFileName0显示最新的文件名
'mnuFileName1显示原mnuFileName0的文件名
If MediaP.FileName <> mnuFileName0.Caption Then
mnuFileName1.Caption = mnuFileName0.Caption
mnuFileName0.Caption = MediaP.FileName
End If
'对mnuFileName0和mnuFileName1以及mnuFileLine的显示作判断
If mnuFileName0.Caption <> "" Then
mnuFileName0.Visible = True
mnuFileName0.Checked = True
mnuFileLine.Visible = True
End If
If mnuFileName1.Caption <> "" Then
mnuFileName1.Visible = True
End If
End If
End Sub
Private Sub mnuFileOpen_Click()
'弹出文件打开对话框,选择文件
m_strPreFileName = arrFileName(m_intFileCount)
'设置过滤器
cmdlgFile.Filter = "Microsoft 流式媒体文件 (*.asf;*.asx;*.lsf;*.lsx)|*.asf;*.asx;*.lsf;*.lsx|"
cmdlgFile.Filter = cmdlgFile.Filter + "数据文件(*.dat)|*.dat|"
cmdlgFile.Filter = cmdlgFile.Filter + "视频文件(*.avi)|*.avi|"
cmdlgFile.Filter = cmdlgFile.Filter + "Audio文件(*.wav)|*.wav|"
cmdlgFile.Filter = cmdlgFile.Filter + "电影文件(*.mpeg;*.mpg;*.mpe)|*.mpeg;*.mpg;*.mpe|"
cmdlgFile.Filter = cmdlgFile.Filter + "MP3文件(*.mp3;*.m3u)|*.mp3;*.m3u|"
cmdlgFile.Filter = cmdlgFile.Filter + "MIDI文件(*.mid;*.midi;*.rmi)|*.mid;*.midi;*.rmi|"
cmdlgFile.Filter = cmdlgFile.Filter + "Indeo视频文件(*.ief)|*.ief|"
cmdlgFile.Filter = cmdlgFile.Filter + "AIFF格式声音文件(*.aif;*.aifc;*.aiff)|*.aif;*.aifc;*.aiff|"
cmdlgFile.Filter = cmdlgFile.Filter + "AU格式声音文件(*.au;*.snd)|*.au;*.snd|"
cmdlgFile.Filter = cmdlgFile.Filter + "QuickTime文件(*.mov;*.qt)|*.mov;*.qt|"
cmdlgFile.Filter = cmdlgFile.Filter + "所有文件(*.*)|*.*|"
'设置缺省值
cmdlgFile.FilterIndex = 2
'显示对话框
cmdlgFile.ShowOpen
'调用FileOpen过程
If cmdlgFile.FileName <> "" Then
FileOpen m_strPreFileName, cmdlgFile.FileName
End If
'改变文件菜单上的当前文件
If m_intFileCount > 0 Then
mnuFileLine.Visible = True
'mnuFileName0显示最新的文件名
'mnuFileName1显示原mnuFileName0的文件名
If MediaP.FileName <> mnuFileName0.Caption Then
mnuFileName1.Caption = mnuFileName0.Caption
mnuFileName0.Caption = MediaP.FileName
End If
'对mnuFileName0和mnuFileName1以及mnuFileLine的显示作判断
If mnuFileName0.Caption <> "" Then
mnuFileName0.Visible = True
mnuFileName0.Checked = True
mnuFileLine.Visible = True
End If
If mnuFileName1.Caption <> "" Then
mnuFileName1.Visible = True
End If
End If
End Sub
'播放数据文件
Public Sub FileOpen(ByVal strPreFile As String, ByVal strCurFile As String)
m_intFileCount = m_intFileCount + 1
'赋值给数组
ReDim Preserve arrFileName(m_intFileCount) As String
arrFileName(m_intFileCount) = strCurFile
'播放当前文件
MediaP.AutoStart = True
MediaP.AutoSize = True
MediaP.EnablePositionControls = True
MediaP.EnableTracker = True
MediaP.FileName = strCurFile
'显示的图像大小为原始大小
MediaP.DisplaySize = mpDefaultSize
'判断各菜单的Checked状态
mnuViewMin.Checked = False
mnuViewC.Checked = False
mnuViewS.Checked = False
'界面以简洁的形式出现
mnuViewC_Click
mnuViewsf.Enabled = True
mnuViewsfSame.Checked = True
End Sub
Private Sub mnuHelpAbout_Click()
'显示About Me对话框
frmAbout.Show
End Sub
Private Sub mnuHelpAboutMP_Click()
'显示Mediaplayer控件的About对话框
MediaP.AboutBox
End Sub
Private Sub mnuHelpMP_Click()
'显示帮助文件
MediaP.ShowDialog mpShowDialogHelp
End Sub
Private Sub mnuPlayhj_Click()
'向后跳进
MediaP.CurrentPosition = MediaP.CurrentPosition - 5
End Sub
Private Sub mnuPlayPP_Click()
'播放和暂停控制
If MediaP.PlayState = mpPaused Or MediaP.PlayState = mpStopped Then
MediaP.Play
ElseIf MediaP.PlayState = mpPlaying Then
MediaP.Pause
End If
End Sub
Private Sub mnuPlayqj_Click()
'向前跳进
MediaP.CurrentPosition = MediaP.CurrentPosition + 5
End Sub
Private Sub mnuPlayStop_Click()
'停止控制
If MediaP.PlayState <> mpStopped Then MediaP.Stop
End Sub
Private Sub mnuViewBarAudio_Click()
'音量控制栏
MediaP.ShowAudioControls = Not MediaP.ShowAudioControls
mnuViewBarAudio.Checked = MediaP.ShowAudioControls
FormResize
End Sub
Private Sub mnuViewBarCaptioning_Click()
'字幕控制栏
MediaP.ShowCaptioning = Not MediaP.ShowCaptioning
mnuViewBarCaptioning.Checked = MediaP.ShowCaptioning
FormResize
End Sub
Private Sub mnuViewBarControls_Click()
'播放控制栏
MediaP.ShowControls = Not MediaP.ShowControls
mnuViewBarControls.Checked = MediaP.ShowControls
FormResize
End Sub
Private Sub mnuViewBarDisplay_Click()
'信息显示栏
MediaP.ShowDisplay = Not MediaP.ShowDisplay
mnuViewBarDisplay.Checked = MediaP.ShowDisplay
FormResize
End Sub
Private Sub mnuViewBarGoto_Click()
'Goto栏
MediaP.ShowGotoBar = Not MediaP.ShowGotoBar
mnuViewBarGoto.Checked = MediaP.ShowGotoBar
FormResize
End Sub
Private Sub mnuViewBarPosition_Click()
'播放控制栏
MediaP.ShowPositionControls = Not MediaP.ShowPositionControls
mnuViewBarPosition.Checked = MediaP.ShowPositionControls
FormResize
End Sub
Private Sub mnuViewBarStatus_Click()
'状态栏
MediaP.ShowStatusBar = Not MediaP.ShowStatusBar
mnuViewBarStatus.Checked = MediaP.ShowStatusBar
FormResize
End Sub
Private Sub mnuViewBarTracker_Click()
'轨道栏
MediaP.ShowTracker = Not MediaP.ShowTracker
mnuViewBarTracker.Checked = MediaP.ShowTracker
FormResize
End Sub
Private Sub mnuViewC_Click()
'简洁显示
'Checked的判断
mnuViewC.Checked = Not mnuViewC.Checked
If mnuViewC.Checked Then
'所有的工具条不显示
MediaP.ShowControls = True
MediaP.ShowAudioControls = True
MediaP.ShowCaptioning = True
MediaP.ShowDisplay = False
MediaP.ShowGotoBar = False
MediaP.ShowPositionControls = True
MediaP.ShowStatusBar = False
MediaP.ShowTracker = True
mnuViewMin.Checked = False
mnuViewS.Checked = False
Else
'若取消“简洁”显示状态,则以“标准”的方式显示
mnuViewS_Click
End If
'窗口大小随之改变
FormResize
'检查【工具条】菜单的Checked
CheckMenu
End Sub
Private Sub mnuViewFull_Click()
'全屏显示
mnuViewFull.Checked = Not mnuViewFull.Checked
If mnuViewFull.Checked Then
ShowScreen (3)
Else
ShowScreen (0)
End If
End Sub
Private Sub mnuViewMin_Click()
'最小显示
'Checked的判断
mnuViewMin.Checked = Not mnuViewMin.Checked
If mnuViewMin.Checked Then
'所有的工具条不显示
MediaP.ShowControls = False
MediaP.ShowAudioControls = False
MediaP.ShowCaptioning = False
MediaP.ShowDisplay = False
MediaP.ShowGotoBar = False
MediaP.ShowPositionControls = False
MediaP.ShowStatusBar = False
MediaP.ShowTracker = False
mnuViewC.Checked = False
mnuViewS.Checked = False
Else
'若取消“最小”显示状态,则以“简洁”的方式显示
mnuViewC_Click
End If
'窗口大小随之改变
FormResize
'检查【工具条】菜单的Checked
CheckMenu
End Sub
Private Sub mnuViewS_Click()
'标准显示
'Checked的判断
mnuViewS.Checked = Not mnuViewS.Checked
If mnuViewS.Checked Then
'所有的工具条不显示
MediaP.ShowControls = True
MediaP.ShowAudioControls = True
MediaP.ShowCaptioning = True
MediaP.ShowDisplay = True
MediaP.ShowGotoBar = True
MediaP.ShowPositionControls = True
MediaP.ShowStatusBar = True
MediaP.ShowTracker = True
mnuViewC.Checked = False
mnuViewMin.Checked = False
Else
'若取消“标准”显示状态,则以“简洁”的方式显示
mnuViewC_Click
End If
'窗口大小随之改变
FormResize
'检查【工具条】菜单的Checked
CheckMenu
End Sub
Public Sub FormResize()
'使窗口的大小和MediaPlayer大小匹配
MediaP.Left = 0
MediaP.Top = 0
MediaP.AllowChangeDisplaySize = True
frmMediaP.Height = frmMediaP.Height + MediaP.Height - m_sngScreenHeight
frmMediaP.Width = frmMediaP.Width + MediaP.Width - m_sngScreenWidth
m_sngScreenHeight = frmMediaP.ScaleHeight
m_sngScreenWidth = frmMediaP.ScaleWidth
End Sub
Public Sub CheckMenu()
'检查View菜单栏的状态
'音量
If MediaP.ShowAudioControls Then
mnuViewBarAudio.Checked = True
Else
mnuViewBarAudio.Checked = False
End If
'字幕
If MediaP.ShowCaptioning Then
mnuViewBarCaptioning.Checked = True
Else
mnuViewBarCaptioning.Checked = False
End If
'信息显示
If MediaP.ShowDisplay Then
mnuViewBarDisplay.Checked = True
Else
mnuViewBarDisplay.Checked = False
End If
'Goto栏
If MediaP.ShowGotoBar Then
mnuViewBarGoto.Checked = True
Else
mnuViewBarGoto.Checked = False
End If
'控制栏
If MediaP.ShowPositionControls Then
mnuViewBarPosition.Checked = True
Else
mnuViewBarPosition.Checked = False
End If
'状态条
If MediaP.ShowStatusBar Then
mnuViewBarStatus.Checked = True
Else
mnuViewBarStatus.Checked = False
End If
'轨道条
If MediaP.ShowTracker Then
mnuViewBarTracker.Checked = True
Else
mnuViewBarTracker.Checked = False
End If
'控制条
If MediaP.ShowControls Then
mnuViewBarControls.Checked = True
Else
mnuViewBarControls.Checked = False
End If
End Sub
Private Sub mnuViewsfFour_Click()
'1/4屏显示
mnuViewsfFour.Checked = Not mnuViewsfFour.Checked
If mnuViewsfFour.Checked Then
ShowScreen (6)
Else
ShowScreen (0)
End If
End Sub
Private Sub mnuViewsfHalf_Click()
'50%显示
mnuViewsfHalf.Checked = Not mnuViewsfHalf.Checked
If mnuViewsfHalf.Checked Then
ShowScreen (1)
Else
ShowScreen (0)
End If
End Sub
Private Sub mnuViewsfSame_Click()
'原屏显示
mnuViewsfHalf.Checked = Not mnuViewsfHalf.Checked
If mnuViewsfHalf.Checked Then
ShowScreen (0)
End If
End Sub
Private Sub mnuViewsfSix_Click()
'1/16 屏显示
mnuViewsfSix.Checked = Not mnuViewsfSix.Checked
If mnuViewsfSix.Checked Then
ShowScreen (5)
Else
ShowScreen (0)
End If
End Sub
Private Sub mnuViewsfTwo_Click()
'两倍显示
mnuViewsfTwo.Checked = Not mnuViewsfTwo.Checked
If mnuViewsfTwo.Checked Then
ShowScreen (2)
Else
ShowScreen (0)
End If
End Sub
Private Sub mnuViewsfTwoOne_Click()
'1/2屏显示
mnuViewsfTwoOne.Checked = Not mnuViewsfTwoOne.Checked
If mnuViewsfTwoOne.Checked Then
ShowScreen (7)
Else
ShowScreen (0)
End If
End Sub
Public Sub ShowScreen(ByVal intSize As Integer)
'检查显示图像的大小的菜单栏状态
MediaP.AllowChangeDisplaySize = True
MediaP.DisplaySize = intSize
FormResize
'设置Checked值
mnuViewsfSame.Checked = False
mnuViewsfHalf.Checked = False
mnuViewsfTwo.Checked = False
mnuViewsfSix.Checked = False
mnuViewsfFour.Checked = False
mnuViewFull.Checked = False
mnuViewsfTwoOne.Checked = False
Select Case intSize
Case 0
mnuViewsfSame.Checked = True
Case 1
mnuViewsfHalf.Checked = True
Case 2
mnuViewsfTwo.Checked = True
Case 3
mnuViewFull.Checked = False
Case 4
Case 5
mnuViewsfSix.Checked = True
Case 6
mnuViewsfFour.Checked = True
Case 7
mnuViewsfTwoOne.Checked = True
End Select
End Sub
Private Sub mnuViewStat_Click()
'统计信息对话框显示
MediaP.ShowDialog mpShowDialogStatistics
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -