Option Explicit
Dim r As Long
Dim dispmode As Integer
Private Const MILSEC = 1
Private Const TRACK = 2
Private ErrorString As String
Private Sub cboFile_Click()
Timer1.Enabled = True
End Sub
Private Sub chkDoor_Click()
If chkDoor.Value = 1 Then
mOpenCDDoor CStr(cboFile.ListIndex)
Else
mCloseCDDoor CStr(cboFile.ListIndex)
End If
End Sub
Private Sub cmdClose_Click()
mClose CStr(cboFile.ListIndex)
Timer1.Enabled = False
End Sub
Private Sub cmdNext_Click()
Dim ct As Integer
Dim ctpos As String
ct = Val(mGetTrack(CStr(cboFile.ListIndex)))
ctpos = mGetTrackPosition(CStr(cboFile.ListIndex), CStr(ct + 1))
mPlay CStr(cboFile.ListIndex), ctpos
End Sub
Private Sub cmdOpen_Click()
If mOpen(cboFile.Text, CStr(cboFile.ListIndex)) = 0 Then
Timer1.Enabled = True
Else
Timer1.Enabled = False
End If
End Sub
Private Sub cmdPause_Click()
Static pause As Boolean
If pause Then
cmdPause.Caption = "||"
mResume CStr(cboFile.ListIndex)
Else
cmdPause.Caption = "|>"
mPause CStr(cboFile.ListIndex)
End If
pause = Not pause
End Sub
Private Sub cmdPlay_Click()
mPlay CStr(cboFile.ListIndex)
End Sub
Private Sub cmdPrev_Click()
Dim ct As Integer
Dim ctpos As String
ct = Val(mGetTrack(CStr(cboFile.ListIndex)))
ctpos = mGetTrackPosition(CStr(cboFile.ListIndex), CStr(ct - 1))
mPlay CStr(cboFile.ListIndex), ctpos
End Sub
Private Sub cmdSendString_Click()
r = mSendString(txtSendString.Text, ErrorString)
If r <> 0 Then
MsgBox ErrorString & " (" & CStr(r) & ")", vbCritical, "Error"
Else
txtGetString.Text = ErrorString
End If
End Sub
Private Sub cmdStop_Click()
mStop CStr(cboFile.ListIndex)
End Sub
Private Sub Form_Load()
cboFile.AddItem "F:\TEMP\The Microsoft Sound.wav"
cboFile.AddItem "F:\TEMP\winboot.wav"
cboFile.AddItem "F:\TEMP\kurumi.rmi"
cboFile.AddItem "F:\TEMP\moon.rmi"
cboFile.AddItem "F:\TEMP\canyon.mid"
cboFile.AddItem "F:\TEMP\voyager.avi"
cboFile.AddItem "cdaudio"
cboFile.ListIndex = 0
End Sub
Private Sub hsbPos_Scroll()
If dispmode = TRACK Then
mTrack hsbPos.Value, CStr(cboFile.ListIndex)
Else
mPlay CStr(cboFile.ListIndex), hsbPos.Value
End If
End Sub
Private Sub picDisp_Click()
mDispTargethWnd CStr(cboFile.ListIndex), picDisp.hWnd
mDispTargetRect CStr(cboFile.ListIndex), 0, 0, _
picDisp.ScaleWidth \ Screen.TwipsPerPixelX, _
picDisp.ScaleHeight \ Screen.TwipsPerPixelY
End Sub
Private Sub Timer1_Timer()
lblCTrack = mGetTrack(CStr(cboFile.ListIndex))
If InStr(UCase(lblCTrack), "ERR") Then
Timer1.Enabled = False
Exit Sub
End If
lblTTrack = mGetTracks(CStr(cboFile.ListIndex))
lblCurrent = mGetPosition(CStr(cboFile.ListIndex))
lblTotal = mGetLength(CStr(cboFile.ListIndex))
lblTF = mGetTimeFormat(CStr(cboFile.ListIndex))
If mGetMediaPresent(CStr(cboFile.ListIndex)) = "true" Then
chkMedia.Value = 1
Else
chkMedia.Value = 0
End If
hsbPos.Min = 1
On Error Resume Next
If InStr(lblTotal.Caption, ":") Then
hsbPos.Max = lblTTrack
hsbPos.Value = lblCTrack
dispmode = TRACK
Else
hsbPos.Max = lblTotal
hsbPos.Value = lblCurrent
dispmode = MILSEC
End If
End Sub
|