Public Sub RecordWave(TrackNum As Integer, Filename As String)
' Tracknum: traccia da registrare ' Filename: file che conterra' la traccia in formato wave 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 Il metodo e' facile: 1) Ferma il drive CD 2) Inizia a suonare una traccia 3) Registra un nuovo wave con le informazioni provenienti dal CD (nota: si puo' anche registrare file MIDI ed audio dal microfono: in pratica tutto cio' che esce dalle casse) 4) Salvare il file wave 5) Fermare il drive CD |