我有一个应用程序可以记录我多年来一直使用的 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 中正确录制吗?在此先感谢您的帮助。