⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cdplay.vb

📁 这是一本用Visual Studio.NET进行多媒体编程的读物
💻 VB
📖 第 1 页 / 共 2 页
字号:
		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 + -