How to play a CD Audio disc via API

Declare the following API

Declare Function mciSendString& Lib "MMSYSTEM" (ByVal lpstrCommand$,

ByVal lpstrReturnStr As Any, ByVal wReturnLen%, ByVal hCallBack%)


Add the code below to appropriate routines


Sub cmdPlay_Click ()

Dim lRet As Long

Dim nCurrentTrack As Integer


Open the device

lRet = mciSendString("open cdaudio alias cd wait", 0&, 0, 0)


Set the time format to Tracks (default is milliseconds)

lRet = mciSendString("set cd time format tmsf", 0&, 0, 0)


Then to play from the beginning

lRet = mciSendString("play cd", 0&, 0, 0)


Or to play from a specific track, say track 4

nCurrentTrack = 4

lRet = mciSendString("play cd from" & Str(nCurrentTrack), 0&, 0, 0)


End Sub



Remember to Close the device when ending playback


Sub cmdStop_Click ()

Dim lRet As Long


Stop the playback

lRet = mciSendString("stop cd wait", 0&, 0, 0)


DoEvents  Let Windows process the event


Close the device

lRet = mciSendString("close cd", 0&, 0, 0)


End Sub