1

我有一个应用程序可以记录我多年来一直使用的 PC 音频。在我的 Windows 8.1 计算机上,我的应用程序仅以单声道、8 位、11025 KHz 录制。在我的 Windows 7 计算机和所有以前的操作系统上,它可以录制立体声、16 位、44100 KHz,因为它应该。这是我的代码片段,当然可以在许多参考资料中找到:

Public Class frmRecorder
    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

    Private Sub cmdStart_Click(ByVal eventSender As System.Object, ByVal  eventArgs As System.EventArgs) Handles cmdStart.Click
        Dim i As Object

        i = mciSendString("open new type waveaudio alias capture", 0, 0, 0)
        i = mciSendString("set capture bitspersample 16", 0, 0, 0)
        i = mciSendString("set capture samplespersec 44100", 0, 0, 0)
        i = mciSendString("set capture channels 2", 0, 0, 0)
        i = mciSendString("record capture overwrite", 0, 0, 0)
    End Sub
    Private Sub cmdStop_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdStop.Click
        Dim i As Object, WaveFile As String = "Test.wav"        
        i = mciSendString("stop capture", 0, 0, 0)
        i = mciSendString("save capture " + """" + WaveFile + """", 0, 0, 0)
        i = mciSendString("close capture", 0, 0, 0)
        FileClose()
End Class

有什么方法可以在 Windows 8.1 中正确录制吗?在此先感谢您的帮助。

4

0 回答 0