使用VB.NET在Windows 7中获取/设置Line-In卷

时间:2014-08-06 19:17:07

标签: vb.net audio naudio

我正在寻找一种方法来获取和设置VB.NET中的输入卷。我一开始看着NAudio看起来很好,同时从Mic插孔中捕获音频,但是一旦我开始使用Line In插孔就没那么多了(除非我做了一些完全错误的事情)。

所以现在我正在使用CoreAudioApi.dll,但没有任何运气来获得当前的音量水平。我只能找到“后蓝色”的设备,这与后面的插孔中的蓝线相对应。

有没有人对我的下一步应该有什么建议?

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    On Error Resume Next

    Dim enmDevice As New MMDeviceEnumerator
    Dim devDevice As MMDeviceCollection = enmDevice.EnumerateAudioEndPoints(EDataFlow.eAll, EDeviceState.DEVICE_STATEMASK_ALL)
    Dim intLineIn As Int32 = -1

    For i As Int32 = 0 To devDevice.Count - 1

        If devDevice.Item(i).FriendlyName = "Rear Blue In" Then
            intLineIn = i
            Exit For
        End If

    Next

    If intLineIn = -1 Then Exit Sub

    Dim devLineIn As MMDevice = devDevice.Item(intLineIn)

    MessageBox.Show(devLineIn.AudioEndpointVolume.MasterVolumeLevel)
    MessageBox.Show(devLineIn.AudioEndpointVolume.MasterVolumeLevelScalar)
    MessageBox.Show(devLineIn.AudioEndpointVolume.VolumeRange.MindB)
    MessageBox.Show(devLineIn.AudioEndpointVolume.VolumeRange.MaxdB)
    MessageBox.Show(devLineIn.AudioEndpointVolume.VolumeRange.IncrementdB)

End Sub

0 个答案:

没有答案