如题。注意不是用麦克风输入,而是把电脑通过声卡发出的一切声音捕捉下来。以前有很多人提过这样的问题,有很多回复都提供了如下代码:
Private Sub RecordWave(TrackNum As Integer, Filename As String)
' Tracknum: track to record
' Filename: file to save wave asOn Local Error Resume Next
Dim i As Long, RS As String, cb As Long
RS = Space$(128)i = mciSendString("stop cdaudio", RS, 128, cb)
i = mciSendString("close cdaudio", RS, 128, cb)Kill FilenameRS = Space$(128)
i = mciSendString("status cdaudio position track " & TrackNum, RS, 128, cb)
i = mciSendString("open cdaudio", RS, 128, cb)
i = mciSendString("set cdaudio time format milliseconds", RS, 128, cb)
i = mciSendString("play cdaudio", RS, 128, cb)
i = mciSendString("open new type waveaudio alias capture", RS, 128, cb)
i = mciSendString("record capture", RS, 128, cb)Do Until ...
    DoEvents
Loopi = mciSendString("save capture " & Filename, RS, 128, cb)
i = mciSendString("stop cdaudio", RS, 128, cb)
i = mciSendString("close cdaudio", RS, 128, cb)
End Sub
可是这个好象没用,只能录制麦克风输入的声音
小弟在此恳求各位大虾,回复前请先测试

解决方案 »

  1.   

    http://www.vbaspnew.com/ziyuan/y/dmt/sound_cap.ZIP
      

  2.   

    关注中!
    网络上有一个软件可以实现,叫做total recorder,据说是做了一个虚拟的声卡来截获声音,一点也不失真,但是具体的实现不知道怎么弄?
    还有人说在录音的时候将音源设置成line out,用directsound来做,但是都没有提供可用的东西。大家可以探讨一下。