Nahrání CD stopy

Procedura:

Public Sub RecordWave(TrackNum As Integer, Filename As String) 
'Tracknum: stop k nahrání 
'Filename: soubor pro uložení wavu 

   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

Funkce pracuje následovně:
Nejprve zastaví veškerou činnost CD. Pak začne přehrávat stopu a vytvoří nový wav soubor. Je třeba si uvědomit, že tato funkce nahrává veškerý výstup, tudíž i mikrofon nebo midi. Po nahrání uloží wav soubor a opět ukončí činnost CD.

Zpět

Autor: The Bozena