This snippet first plays from a cd in the cd-drive, and then captures from the soundcard:
Sync On
Sync Rate 0
Set window on
Set window title "Record WAV from CD"
Load dll "winmm.dll",1
tracknum=1
filename$="C:\cdtrack1.wav"
rs$=" "
i = Call dll(1,"mciSendStringA","stop cdaudio",rs$, 128,cb)
i = Call dll(1,"mciSendStringA","close cdaudio",rs$, 128,cb)
If file exist(filename$) then delete file filename$
rs$=" "
i = Call dll(1,"mciSendStringA","status cdaudio position track "+str$(tracknum),rs$, 128,cb)
i = Call dll(1,"mciSendStringA","open cdaudio",rs$, 128,cb)
i = Call dll(1,"mciSendStringA","set cdaudio time format milliseconds",rs$, 128,cb)
i = Call dll(1,"mciSendStringA","play cdaudio",rs$, 128,cb)
i = Call dll(1,"mciSendStringA","open new type waveaudio alias capture",rs$, 128,cb)
i = Call dll(1,"mciSendStringA","record capture",rs$, 128,cb)
t# = Timer() + 10000
Repeat
Until timer()>t#
i = Call dll(1,"mciSendStringA","save capture "+filename$,rs$, 128,cb)
i = Call dll(1,"mciSendStringA","stop cdaudio",rs$, 128,cb)
i = Call dll(1,"mciSendStringA","close cdaudio",rs$, 128,cb)
You should only need these lines for sound capture:
i = Call dll(1,"mciSendStringA","open new type waveaudio alias capture",rs$, 128,cb)
i = Call dll(1,"mciSendStringA","record capture",rs$, 128,cb)
i = Call dll(1,"mciSendStringA","save capture "+filename$,rs$, 128,cb)
"That's not a bug, it's a feature!"
"Variables won't, constants aren't."