打印本文 打印本文 关闭窗口 关闭窗口
VB.NET实现DirectSound9 (7) 录音
作者:武汉SEO闵涛  文章来源:敏韬网  点击数10923  更新时间:2009/4/23 19:00:44  文章录入:mintao  责任编辑:mintao
;   Me.Name = "Form1"

        Me.Text = "Form1"

        Me.ResumeLayout(False)

 

    End Sub

 

#End Region

 

 

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Dim info As DeviceInformation

        ''''''''''''先得到可以使用的信息

        '''''''''''' 设备信息由这个集合提供

        For Each info In CapList

            ListBox1.Items.Add(info.Description)

        Next

    End Sub

 

    Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged

        ''''利用选择的设备

        Cap = New Capture(CapList(ListBox1.SelectedIndex).DriverGuid)

        ''''''''''''枚举支持的格式

        ''''''''''''尝试各种格式,只能用try catch 了

        Dim fmt As WaveFormat

        Dim TestCapture As CaptureBuffer

        Dim CaptureDesc As New CaptureBufferDescription

        ''''ListBox2.Items.Clear()

        ScanAvailableInputFormats(Cap)

        FillFormatListBox()

    End Sub

    Sub ScanAvailableInputFormats(ByVal cap As Capture)

        ''''-----------------------------------------------------------------------------

        '''' Name: ScanAvailableInputFormats()

        '''' Desc: Tests to see if 20 different standard wave formats are supported by

        ''''       the capture device

        ''''-----------------------------------------------------------------------------

        Dim format As New WaveFormat

        Dim dscheckboxd As New CaptureBufferDescription

        Dim pDSCaptureBuffer As CaptureBuffer = Nothing

 

        '''' This might take a second or two, so throw up the hourglass

        Cursor = Cursors.WaitCursor

 

        format.FormatTag = WaveFormatTag.Pcm

 

        '''' Try 20 different standard formats to see if they are supported

        Dim iIndex As Integer

        For iIndex = 0 To 19

            GetWaveFormatFromIndex(iIndex, format)

 

            '''' To test if a capture format is supported, try to create a

            '''' new capture buffer using a specific format.  If it works

            '''' then the format is supported, otherwise not.

            dscheckboxd.BufferBytes = format.AverageBytesPerSecond

            dscheckboxd.Format = format

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  ...  下一页 >> 

打印本文 打印本文 关闭窗口 关闭窗口