nReturn = mciSendString("Close " & sAlias, "", 0, 0) sAlias = "" sFilename = ""
End Sub '暂停 Public Sub mmPause()
Dim nReturn As Long
If sAlias = "" Then Exit Sub ElseIf Status = "paused" Then '如果先前已经暂停了,则解除暂停 mmPlay Else nReturn = mciSendString("Pause " & sAlias, "", 0, 0) End If 'nPosition = Position End Sub '播放 Public Sub mmPlay()
Dim nReturn As Long
If sAlias = "" Then Exit Sub ElseIf Position = Length Then '如果已经到末尾 mmSeek 0 '跳到开始处 End If
If bWait Then nReturn = mciSendString("Play " & sAlias & " wait", "", 0, 0) Else nReturn = mciSendString("Play " & sAlias, "", 0, 0) End If End Sub '停止 '停止后跳到开始,以便再次播放 Public Sub mmStop()
Dim nReturn As Long
If sAlias = "" Then Exit Sub
nReturn = mciSendString("Stop " & sAlias, "", 0, 0) mmSeek 0 '跳到开始位置 End Sub '跳到指定的位置,并且处于暂停状态 '当nPosition的值>Length 或者nPosition<0时,将忽略这次操作 Public Sub mmSeek(ByVal nPosition As Single)
Dim nReturn As Long nReturn = mciSendString("Seek " & sAlias & " to " & nPosition, "", 0, 0) End Sub '方法Filename返回当前打开的文件名 Property Get filename() As String filename = sFilename End Property '指定要播放的文件名,然后将它打开 '对于需要指定容器的Avi文件,不要以这种方式打开。 Property Let filename(ByVal sTheFile As String) mmOpen sTheFile End Property '读取属性Wait的值 'Msgbox Multimedia.Wait Property Get Wait() As Boolean Wait = bWait End Property '设置等待属性 '用法:Multimedia.Wait=True Property Let Wait(bWaitValue As Boolean) bWait = bWaitValue End Property '获得长度值 Property Get Length() As Single
Dim nReturn As Long, nLength As Integer Dim sLength As String * 255
If sAlias = "" Then Length = 0 Exit Property End If nReturn = mciSendString("Status " & sAlias & " length", sLength, 255, 0) nLength = InStr(sLength, Chr$(0)) Length = Val(Left$(sLength, nLength - 1)) End Property Property Let Position(ByVal nPosition As Single) mmSeek nPosition End Property '获取当前位置 Property Get Position() As Single
Dim nReturn As Integer, nLength As Integer
Dim sPosition As String * 255 If sAlias = "" Then Exit Property
nReturn = mciSendString("Status " & sAlias & " position", sPosition, 255, 0) nLength = InStr(sPosition, Chr$(0)) Position = Val(Left$(sPosition, nLength - 1)) End Property '当前打开文件的状态 '有以下几种:playing paused stopped Property Get Status() As String
Dim nReturn As Integer, nLength As Integer Dim sStatus As String * 255
If sAlias = "" Then Exit Property nReturn = mciSendString("Status " & sAlias & " mode", sStatus, 255, 0)
nLength = InStr(sStatus, Chr$(0)) Status = Left$(sStatus, nLength - 1)
End Property '从头开始播放 Public Sub mmRestart() Dim nReturn As Long
If sAlias = "" Then Exit Sub
mmSeek 0 mmPlay End Sub '类的初始化 Private Sub Class_Initialize() ' sAlias = "" '别名初值为空 End Sub '关闭打开的多媒体设备 '当该类的对象所在的窗体(或模块)卸载时,自动调用该过程 Private Sub Class_Terminate() mmClose End Sub '---------------------------------------------------- |
|