Public Sub RecordWave(TrackNum As Integer, Filename As String)
' Tracknum: track to record ' Filename: file to save wave as On Local Error Resume Next Dim i As Long, RS As String, cb As Long, t# RS = Space$(128) i = mciSendString("stop cdaudio", RS, 128, cb) i = mciSendString("close cdaudio", RS, 128, cb) Kill Filename RS = 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) t# = Timer + 1: Do Until Timer > t#: DoEvents: Loop i = mciSendString("save capture " & Filename, RS, 128, cb) i = mciSendString("stop cdaudio", RS, 128, cb) i = mciSendString("close cdaudio", RS, 128, cb) End Sub 'The method Is quite easy: ' '1) Stop everything In the CD drive '2) Start playing track '3) Record a New wave With the information from the CD (note: it also records MIDI And microphone sounds: In fact anything coming out of the speakers) '4) Save the wave file '5) Stop the CD again |