mmc.frm

来自「VB6程序设计参考手册 -独立源码 VB6程序设计参考手册 -独立源码」· FRM 代码 · 共 167 行

FRM
167
字号
VERSION 5.00
Object = "{C1A8AF28-1257-101B-8FB0-0020AF039CA3}#1.1#0"; "MCI32.OCX"
Begin VB.Form Form1 
   BackColor       =   &H00C0C0C0&
   BorderStyle     =   1  'Fixed Single
   Caption         =   "CDPlayer"
   ClientHeight    =   1830
   ClientLeft      =   150
   ClientTop       =   435
   ClientWidth     =   4665
   Icon            =   "MMC.frx":0000
   LinkTopic       =   "Form1"
   MaxButton       =   0   'False
   MinButton       =   0   'False
   ScaleHeight     =   1830
   ScaleWidth      =   4665
   StartUpPosition =   3  '窗口缺省
   Begin VB.CheckBox Check1 
      Caption         =   "试听"
      Height          =   255
      Left            =   3120
      TabIndex        =   4
      Top             =   1560
      Width           =   735
   End
   Begin VB.DriveListBox Drive1 
      Height          =   300
      Left            =   360
      TabIndex        =   3
      Top             =   1440
      Visible         =   0   'False
      Width           =   735
   End
   Begin VB.Timer Timer1 
      Enabled         =   0   'False
      Interval        =   10000
      Left            =   240
      Top             =   120
   End
   Begin MCI.MMControl MMControl1 
      Height          =   495
      Left            =   720
      TabIndex        =   0
      Top             =   960
      Width           =   3540
      _ExtentX        =   6244
      _ExtentY        =   873
      _Version        =   393216
      DeviceType      =   ""
      FileName        =   ""
   End
   Begin VB.Label Label2 
      Alignment       =   2  'Center
      BackColor       =   &H00C0C0C0&
      ForeColor       =   &H00800000&
      Height          =   375
      Left            =   120
      TabIndex        =   2
      Top             =   600
      Width           =   4455
   End
   Begin VB.Label Label1 
      Alignment       =   2  'Center
      BackColor       =   &H00C0C0C0&
      Caption         =   "CD Player"
      BeginProperty Font 
         Name            =   "黑体"
         Size            =   24
         Charset         =   134
         Weight          =   700
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      ForeColor       =   &H00800000&
      Height          =   615
      Left            =   240
      TabIndex        =   1
      Top             =   120
      Width           =   4215
   End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
'  初始化,检查是否有光盘驱动器和CD光盘
Private Sub Form_Load()
    MMControl1.AutoEnable = True
    MMControl1.Notify = False
    MMControl1.Wait = True
    MMControl1.Shareable = False
    MMControl1.DeviceType = "cdaudio"
    MMControl1.RecordVisible = False
    Call cdscan
End Sub

'   检查是否有光盘驱动器和CD光盘
Private Sub cdscan()
    Dim n As Integer
    Dim fs, drv
    Set fs = CreateObject("Scripting.FileSystemObject")
    For n = 0 To Drive1.ListCount - 2
        Set drv = fs.GetDrive(Left(Drive1.List(n), 2)) '获取驱动器类型
        If drv.drivetype = 4 Then ' 驱动器是光盘驱动器的话
        cdname = Drive1.List(n)
        On Error GoTo Errhandle
        '检测光驱里是否有光盘
        sr = Dir(cdname & "\Track01.cda", vbReadOnly) '检查是否有CD音轨
            If sr <> "" Then
            audiopath = cdname & "\" & sr
            Exit For
            End If
        End If
    Next

    If audiopath <> "" Then  '找到音轨则播放
        Call cdplay(audiopath)
    ElseIf cdname <> "" Then '在光盘上找不到CD音轨
        feedback = MsgBox("请确认放入的是CD光盘", vbAbortRetryIgnore)
        Select Case feedback
            Case vbAbort
                End
            Case vbRetry
                Call cdscan
            Case vbIgnore
            '   什么也不做
        End Select
    Else  '该计算机没有光驱
        MsgBox "该计算机没有光驱,即将退出。"
        End
    End If
    Exit Sub
    
Errhandle:
    MsgBox "请放入光盘"
End Sub

'   打开设备
Private Sub cdplay(ByVal audiopath As String)
    MMControl1.FileName = audiopath
    MMControl1.Command = "Open"
End Sub

'  更新状态
Private Sub MMControl1_StatusUpdate()
    Label2.Caption = MMControl1.Track & " of " & MMControl1.Tracks & " Tracks"
    If Check1.Value Then
        Timer1.Enabled = True
    Else
        Timer1.Enabled = False
    End If
End Sub

'   试听,每曲播放10秒
Private Sub Timer1_Timer()
    MMControl1.Command = "Next"
End Sub

'  卸载窗体时,停止播放并关闭设备
Private Sub Form_Unload(Cancel As Integer)
    MMControl1.Command = "Stop"
    MMControl1.Command = "Close"
End Sub

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?