📄 cdplay.vb
字号:
Me.txtLength.TextAlign = System.Windows.Forms.HorizontalAlignment.Left
Me.txtLength.BackColor = System.Drawing.SystemColors.Window
Me.txtLength.CausesValidation = True
Me.txtLength.Enabled = True
Me.txtLength.ForeColor = System.Drawing.SystemColors.WindowText
Me.txtLength.HideSelection = True
Me.txtLength.ReadOnly = False
Me.txtLength.Maxlength = 0
Me.txtLength.Cursor = System.Windows.Forms.Cursors.IBeam
Me.txtLength.MultiLine = False
Me.txtLength.RightToLeft = System.Windows.Forms.RightToLeft.No
Me.txtLength.ScrollBars = System.Windows.Forms.ScrollBars.None
Me.txtLength.TabStop = True
Me.txtLength.Visible = True
Me.txtLength.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D
Me.txtLength.Name = "txtLength"
Me.txtCurrent.AutoSize = False
Me.txtCurrent.Size = New System.Drawing.Size(209, 18)
Me.txtCurrent.Location = New System.Drawing.Point(64, 43)
Me.txtCurrent.TabIndex = 0
Me.txtCurrent.AcceptsReturn = True
Me.txtCurrent.TextAlign = System.Windows.Forms.HorizontalAlignment.Left
Me.txtCurrent.BackColor = System.Drawing.SystemColors.Window
Me.txtCurrent.CausesValidation = True
Me.txtCurrent.Enabled = True
Me.txtCurrent.ForeColor = System.Drawing.SystemColors.WindowText
Me.txtCurrent.HideSelection = True
Me.txtCurrent.ReadOnly = False
Me.txtCurrent.Maxlength = 0
Me.txtCurrent.Cursor = System.Windows.Forms.Cursors.IBeam
Me.txtCurrent.MultiLine = False
Me.txtCurrent.RightToLeft = System.Windows.Forms.RightToLeft.No
Me.txtCurrent.ScrollBars = System.Windows.Forms.ScrollBars.None
Me.txtCurrent.TabStop = True
Me.txtCurrent.Visible = True
Me.txtCurrent.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D
Me.txtCurrent.Name = "txtCurrent"
Me.Label1.Text = "总长度"
Me.Label1.Size = New System.Drawing.Size(36, 12)
Me.Label1.Location = New System.Drawing.Point(16, 20)
Me.Label1.TabIndex = 3
Me.Label1.TextAlign = System.Drawing.ContentAlignment.TopLeft
Me.Label1.BackColor = System.Drawing.SystemColors.Control
Me.Label1.Enabled = True
Me.Label1.ForeColor = System.Drawing.SystemColors.ControlText
Me.Label1.Cursor = System.Windows.Forms.Cursors.Default
Me.Label1.RightToLeft = System.Windows.Forms.RightToLeft.No
Me.Label1.UseMnemonic = True
Me.Label1.Visible = True
Me.Label1.AutoSize = True
Me.Label1.BorderStyle = System.Windows.Forms.BorderStyle.None
Me.Label1.Name = "Label1"
Me.Label2.Text = "目前:"
Me.Label2.Size = New System.Drawing.Size(31, 12)
Me.Label2.Location = New System.Drawing.Point(16, 47)
Me.Label2.TabIndex = 2
Me.Label2.TextAlign = System.Drawing.ContentAlignment.TopLeft
Me.Label2.BackColor = System.Drawing.SystemColors.Control
Me.Label2.Enabled = True
Me.Label2.ForeColor = System.Drawing.SystemColors.ControlText
Me.Label2.Cursor = System.Windows.Forms.Cursors.Default
Me.Label2.RightToLeft = System.Windows.Forms.RightToLeft.No
Me.Label2.UseMnemonic = True
Me.Label2.Visible = True
Me.Label2.AutoSize = True
Me.Label2.BorderStyle = System.Windows.Forms.BorderStyle.None
Me.Label2.Name = "Label2"
Me.Controls.Add(cmdVolume)
Me.Controls.Add(cmdNext)
Me.Controls.Add(cmdPrev)
Me.Controls.Add(cmdDoorClose)
Me.Controls.Add(cmdEject)
Me.Controls.Add(cmdPlay)
Me.Controls.Add(cmdPause)
Me.Controls.Add(cmdClose)
Me.Controls.Add(cmdOpen)
Me.Controls.Add(cmdReset)
Me.Controls.Add(txtLength)
Me.Controls.Add(txtCurrent)
Me.Controls.Add(Label1)
Me.Controls.Add(Label2)
End Sub
#End Region
#Region "升级支持"
Private Shared m_vb6FormDefInstance As frmMain
Private Shared m_InitializingDefInstance As Boolean
Public Shared Property DefInstance() As frmMain
Get
If m_vb6FormDefInstance Is Nothing OrElse m_vb6FormDefInstance.IsDisposed Then
m_InitializingDefInstance = True
m_vb6FormDefInstance = New frmMain()
m_InitializingDefInstance = False
End If
DefInstance = m_vb6FormDefInstance
End Get
Set
m_vb6FormDefInstance = Value
End Set
End Property
#End Region
Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Integer, ByVal hwndCallback As Integer) As Integer
Declare Function mciGetErrorString Lib "winmm.dll" Alias "mciGetErrorStringA" (ByVal dwError As Integer, ByVal lpstrBuffer As String, ByVal uLength As Integer) As Integer
Private Sub cmdClose_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdClose.Click
mciSendString("stop MyMedia", Nothing, 0, 0)
mciSendString("close MyMedia", Nothing, 0, 0)
End Sub
Private Sub cmdDoorClose_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdDoorClose.Click
mciSendString("set MyMedia door closed", Nothing, 0, 0)
End Sub
Private Sub cmdEject_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdEject.Click
mciSendString("set MyMedia door open", Nothing, 0, 0)
End Sub
Private Sub cmdNext_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdNext.Click
Dim S As String
Dim Tracks, CurTrack As Short
S = New String(Chr(0), 256)
mciSendString("status MyMedia number of tracks", S, Len(S), 0)
Tracks = Val(S)
mciSendString("status MyMedia current track", S, Len(S), 0)
CurTrack = Val(S)
If CurTrack < Tracks Then
mciSendString("status MyMedia position track " & CurTrack + 1, S, Len(S), 0)
mciSendString("play MyMedia from " & VB.Left(S, 8), Nothing, 0, 0)
End If
End Sub
Private Sub cmdOpen_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdOpen.Click
Dim ret As Integer
Dim S As String
mciSendString("close MyMedia", Nothing, 0, 0)
ret = mciSendString("open cdaudio alias MyMedia", Nothing, 0, 0)
Dim Length As String
Dim Tracks As Short
If ret = 0 Then
S = New String(Chr(0), 256)
mciSendString("status MyMedia length", S, Len(S), 0)
Length = VB.Left(S, 8)
mciSendString("status MyMedia number of tracks", S, Len(S), 0)
Tracks = Val(S)
txtLength.Text = "[" & Tracks & "] " & Length
Else
S = New String(Chr(0), 256)
mciGetErrorString(ret, S, Len(S))
MsgBox(VB.Left(S, InStr(S, Chr(0)) - 1))
End If
End Sub
Private Sub cmdPause_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdPause.Click
mciSendString("pause MyMedia", Nothing, 0, 0)
End Sub
Private Sub cmdPlay_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdPlay.Click
mciSendString("play MyMedia", Nothing, 0, 0)
End Sub
Private Sub cmdPrev_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdPrev.Click
Dim S As String
Dim CurTrack As Short
S = New String(Chr(0), 256)
mciSendString("status MyMedia current track", S, Len(S), 0)
CurTrack = Val(S)
If CurTrack > 1 Then
mciSendString("status MyMedia position track " & CurTrack - 1, S, Len(S), 0)
mciSendString("play MyMedia from " & VB.Left(S, 8), Nothing, 0, 0)
End If
End Sub
Private Sub cmdReset_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdReset.Click
mciSendString("pause MyMedia", Nothing, 0, 0)
mciSendString("seek MyMedia to start", Nothing, 0, 0)
End Sub
Private Sub cmdVolume_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdVolume.Click
Shell("Sndvol32.exe", AppWinStyle.NormalFocus)
End Sub
Private Sub frmMain_Load(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles MyBase.Load
Dim S As String
S = New String(Chr(0), 256)
mciSendString("status cdaudio number of tracks", S, Len(S), 0)
If Val(S) <> 0 Then cmdOpen_Click(cmdOpen, New System.EventArgs())
End Sub
'UPGRADE_WARNING: Form 事件 frmMain.Unload 具有新的行为。 单击以获得更多信息:ms-help://MS.MSDNVS/vbcon/html/vbup2065.htm
Private Sub frmMain_Closed(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles MyBase.Closed
cmdClose_Click(cmdClose, New System.EventArgs())
End Sub
Private Sub Timer1_Tick(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Timer1.Tick
Dim S, pos As String
Dim ret As Integer
Dim track As Short
S = New String(Chr(0), 256)
mciSendString("status MyMedia position", S, Len(S), 0)
pos = VB.Left(S, 8)
mciSendString("status MyMedia current track", S, Len(S), 0)
track = Val(S)
txtCurrent.Text = "[" & track & "] " & pos
End Sub
End Class
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -