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

📄 cdrecord.vb

📁 这是一本用Visual Studio.NET进行多媒体编程的读物
💻 VB
📖 第 1 页 / 共 3 页
字号:
        Me.lstRecord.RightToLeft = System.Windows.Forms.RightToLeft.No
        Me.lstRecord.Size = New System.Drawing.Size(196, 220)
        Me.lstRecord.TabIndex = 4
        '
        '_Label1_3
        '
        Me._Label1_3.BackColor = System.Drawing.SystemColors.Control
        Me._Label1_3.Cursor = System.Windows.Forms.Cursors.Default
        Me._Label1_3.ForeColor = System.Drawing.SystemColors.ControlText
        Me.Label1.SetIndex(Me._Label1_3, CType(3, Short))
        Me._Label1_3.Location = New System.Drawing.Point(280, 72)
        Me._Label1_3.Name = "_Label1_3"
        Me._Label1_3.RightToLeft = System.Windows.Forms.RightToLeft.No
        Me._Label1_3.Size = New System.Drawing.Size(135, 15)
        Me._Label1_3.TabIndex = 3
        Me._Label1_3.Text = "转录音轨:"
        '
        'cbxFormat
        '
        Me.cbxFormat.BackColor = System.Drawing.SystemColors.Window
        Me.cbxFormat.Cursor = System.Windows.Forms.Cursors.Default
        Me.cbxFormat.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
        Me.cbxFormat.DropDownWidth = 344
        Me.cbxFormat.ForeColor = System.Drawing.SystemColors.WindowText
        Me.cbxFormat.Location = New System.Drawing.Point(80, 32)
        Me.cbxFormat.Name = "cbxFormat"
        Me.cbxFormat.RightToLeft = System.Windows.Forms.RightToLeft.No
        Me.cbxFormat.Size = New System.Drawing.Size(344, 20)
        Me.cbxFormat.TabIndex = 17
        '
        '_Label1_5
        '
        Me._Label1_5.BackColor = System.Drawing.SystemColors.Control
        Me._Label1_5.Cursor = System.Windows.Forms.Cursors.Default
        Me._Label1_5.ForeColor = System.Drawing.SystemColors.ControlText
        Me.Label1.SetIndex(Me._Label1_5, CType(5, Short))
        Me._Label1_5.Location = New System.Drawing.Point(8, 32)
        Me._Label1_5.Name = "_Label1_5"
        Me._Label1_5.RightToLeft = System.Windows.Forms.RightToLeft.No
        Me._Label1_5.Size = New System.Drawing.Size(72, 15)
        Me._Label1_5.TabIndex = 16
        Me._Label1_5.Text = "音频格式:"
        Me._Label1_5.TextAlign = System.Drawing.ContentAlignment.TopRight
        '
        'cmdCancel
        '
        Me.cmdCancel.BackColor = System.Drawing.SystemColors.Control
        Me.cmdCancel.Cursor = System.Windows.Forms.Cursors.Default
        Me.cmdCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel
        Me.cmdCancel.Enabled = False
        Me.cmdCancel.Location = New System.Drawing.Point(200, 287)
        Me.cmdCancel.Name = "cmdCancel"
        Me.cmdCancel.RightToLeft = System.Windows.Forms.RightToLeft.No
        Me.cmdCancel.Size = New System.Drawing.Size(56, 24)
        Me.cmdCancel.TabIndex = 7
        Me.cmdCancel.Text = "取消"
        '
        'tmrRecord
        '
        Me.tmrRecord.Interval = 10
        '
        'cmdRefresh
        '
        Me.cmdRefresh.BackColor = System.Drawing.SystemColors.Control
        Me.cmdRefresh.Cursor = System.Windows.Forms.Cursors.Default
        Me.cmdRefresh.Location = New System.Drawing.Point(5, 324)
        Me.cmdRefresh.Name = "cmdRefresh"
        Me.cmdRefresh.RightToLeft = System.Windows.Forms.RightToLeft.No
        Me.cmdRefresh.Size = New System.Drawing.Size(179, 24)
        Me.cmdRefresh.TabIndex = 8
        Me.cmdRefresh.Text = "更新CD信息"
        '
        'cmdTo
        '
        Me.cmdTo.BackColor = System.Drawing.SystemColors.Control
        Me.cmdTo.Cursor = System.Windows.Forms.Cursors.Default
        Me.cmdTo.Location = New System.Drawing.Point(200, 120)
        Me.cmdTo.Name = "cmdTo"
        Me.cmdTo.RightToLeft = System.Windows.Forms.RightToLeft.No
        Me.cmdTo.Size = New System.Drawing.Size(56, 25)
        Me.cmdTo.TabIndex = 2
        Me.cmdTo.Text = ">>"
        '
        'lblNumTracks
        '
        Me.lblNumTracks.BackColor = System.Drawing.SystemColors.Control
        Me.lblNumTracks.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D
        Me.lblNumTracks.Cursor = System.Windows.Forms.Cursors.Default
        Me.lblNumTracks.ForeColor = System.Drawing.SystemColors.ControlText
        Me.lblNumTracks.Location = New System.Drawing.Point(317, 2)
        Me.lblNumTracks.Name = "lblNumTracks"
        Me.lblNumTracks.RightToLeft = System.Windows.Forms.RightToLeft.No
        Me.lblNumTracks.Size = New System.Drawing.Size(104, 20)
        Me.lblNumTracks.TabIndex = 14
        Me.lblNumTracks.TextAlign = System.Drawing.ContentAlignment.TopCenter
        '
        'lblStatus
        '
        Me.lblStatus.BackColor = System.Drawing.SystemColors.Control
        Me.lblStatus.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D
        Me.lblStatus.Cursor = System.Windows.Forms.Cursors.Default
        Me.lblStatus.ForeColor = System.Drawing.Color.Red
        Me.lblStatus.Location = New System.Drawing.Point(280, 328)
        Me.lblStatus.Name = "lblStatus"
        Me.lblStatus.RightToLeft = System.Windows.Forms.RightToLeft.No
        Me.lblStatus.Size = New System.Drawing.Size(196, 20)
        Me.lblStatus.TabIndex = 15
        Me.lblStatus.TextAlign = System.Drawing.ContentAlignment.TopCenter
        Me.lblStatus.Visible = False
        '
        'Form1
        '
        Me.AutoScaleBaseSize = New System.Drawing.Size(6, 14)
        Me.CancelButton = Me.cmdCancel
        Me.ClientSize = New System.Drawing.Size(488, 391)
        Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.cbxFormat, Me.cmdCancel, Me.cmdFrom, Me.cmdStart, Me.txtFile, Me.lstRecord, Me.cmdTo, Me.lstTracks, Me.cmdRefresh, Me._Label1_5, Me.lblStatus, Me._Label1_4, Me._Label1_3, Me._Label1_0, Me.lblNumTracks, Me._Label1_2, Me.lblCDID, Me._Label1_1})
        Me.Location = New System.Drawing.Point(125, 103)
        Me.Name = "Form1"
        Me.StartPosition = System.Windows.Forms.FormStartPosition.Manual
        Me.Text = "CD Recorder"
        Me.ResumeLayout(False)

    End Sub
#End Region 
#Region "升级支持"
	Private Shared m_vb6FormDefInstance As Form1
	Private Shared m_InitializingDefInstance As Boolean
	Public Shared Property DefInstance() As Form1
		Get
			If m_vb6FormDefInstance Is Nothing OrElse m_vb6FormDefInstance.IsDisposed Then
				m_InitializingDefInstance = True
				m_vb6FormDefInstance = New Form1()
				m_InitializingDefInstance = False
			End If
			DefInstance = m_vb6FormDefInstance
		End Get
		Set
			m_vb6FormDefInstance = Value
		End Set
	End Property
#End Region
    Private 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

    Dim lStart, lCurTrack, lFinish As Integer
    Dim lTrackLengths() As Integer
    Dim aFile As String
    Dim bGroups As Boolean

    Private Function CString(ByRef aStr As String) As String
        CString = ""
        Dim k As Integer
        k = InStr(aStr, Chr(0))
        If k Then
            CString = VB.Left(aStr, k - 1)
        End If
    End Function

    Private Sub StartTrackRecording()
        Dim lSamples, lRet, lBits, lChannels As Integer
        lCurTrack = VB6.GetItemData(lstRecord, lstRecord.SelectedIndex)
        lblStatus.Text = "Track " & lCurTrack

        aFile = txtFile.Text & "-" & lCurTrack & ".wav"
        lStart = 0
        lFinish = 0
        For lRet = 1 To Val(lblNumTracks.Text)
            If lRet = lCurTrack Then Exit For
            lStart = lStart + lTrackLengths(lRet)
        Next
        lFinish = lStart + lTrackLengths(lCurTrack)
        If bGroups Then
            Do
                If lstRecord.Items.Count - 1 = lstRecord.SelectedIndex Then Exit Do
                lstRecord.SelectedIndex = lstRecord.SelectedIndex + 1
                If VB6.GetItemString(lstRecord, lstRecord.SelectedIndex) = "--- Group ---" Then Exit Do
                lCurTrack = VB6.GetItemData(lstRecord, lstRecord.SelectedIndex)
                lFinish = lFinish + lTrackLengths(lCurTrack)
            Loop
        End If

        Select Case VB6.GetItemString(cbxFormat, cbxFormat.SelectedIndex)
            Case "8.000kHz, 8bit Mono, 7k/sec" : lSamples = 8000 : lBits = 8 : lChannels = 1
            Case "8.000kHz, 8bit Stereo, 15k/sec" : lSamples = 8000 : lBits = 8 : lChannels = 2
            Case "8.000kHz, 16bit Mono, 15k/sec" : lSamples = 8000 : lBits = 16 : lChannels = 1
            Case "8.000kHz, 16bit Stereo, 31k/sec" : lSamples = 8000 : lBits = 16 : lChannels = 2

            Case "11.025kHz, 8bit Mono, 10k/sec" : lSamples = 11025 : lBits = 8 : lChannels = 1
            Case "11.025kHz, 8bit Stereo, 21k/sec" : lSamples = 11025 : lBits = 8 : lChannels = 2
            Case "11.025kHz, 16bit Mono, 21k/sec" : lSamples = 11025 : lBits = 16 : lChannels = 1
            Case "11.025kHz, 16bit Stereo, 43k/sec" : lSamples = 11025 : lBits = 16 : lChannels = 2

            Case "22.050Hz, 8bit Mono, 21k/sec" : lSamples = 22050 : lBits = 8 : lChannels = 1
            Case "22.050Hz, 8bit Stereo, 43k/sec" : lSamples = 22050 : lBits = 8 : lChannels = 2
            Case "22.050Hz, 16bit Mono, 43k/sec" : lSamples = 22050 : lBits = 16 : lChannels = 1
            Case "22.050Hz, 16bit Stereo, 86k/sec" : lSamples = 22050 : lBits = 16 : lChannels = 2

            Case "44.100Hz, 8bit Mono, 43k/sec" : lSamples = 44100 : lBits = 8 : lChannels = 1
            Case "44.100Hz, 8bit Stereo, 86k/sec" : lSamples = 44100 : lBits = 8 : lChannels = 2
            Case "44.100Hz, 16bit Mono, 86k/sec" : lSamples = 44100 : lBits = 16 : lChannels = 1
            Case "44.100Hz, 16bit Stereo, 172k/sec" : lSamples = 44100 : lBits = 16 : lChannels = 2
        End Select

        If mciSendString("open new type waveaudio alias capture", Nothing, 0, 0) Then MsgBox("Error opening waveaudio", MsgBoxStyle.Critical) : cmdCancel_Click(cmdCancel, New System.EventArgs())
        If lFinish Then
            If mciSendString("set capture samplespersec " & lSamples, Nothing, 0, 0) Then MsgBox("Error setting capture samplespersec", MsgBoxStyle.Critical) : mciSendString("close capture", Nothing, 0, 0) : cmdCancel_Click(cmdCancel, New System.EventArgs())
        End If
        If lFinish Then
            If mciSendString("set capture channels " & lChannels, Nothing, 0, 0) Then MsgBox("Error setting capture channels", MsgBoxStyle.Critical) : mciSendString("close capture", Nothing, 0, 0) : cmdCancel_Click(cmdCancel, New System.EventArgs())
        End If
        If lFinish Then

⌨️ 快捷键说明

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