Video | Events | OpenGL | Audio | CD-ROM | Threads | Time
# CD-ROM
Introduction | Function List | Function Reference | Examples
SDL supports audio control of up to 32 local CD-ROM drives at once. You use this API to perform all the basic functions of a CD player, including listing the tracks, playing, stopping, and ejecting the CD-ROM. (Currently, multi-changer CD drives are not supported.) Before you call any of the SDL CD-ROM functions, you must first call "`SDL_Init(SDL_INIT_CDROM)`", which scans the system for CD-ROM drives, and sets the program up for audio control. Check the return code, which should be `0`, to see if there were any errors in starting up. After you have initialized the library, you can find out how many drives are available using the SDL_CDNumDrives() function. The first drive listed is the system default CD-ROM drive. After you have chosen a drive, and have opened it with SDL_CDOpen(), you can check the status and start playing if there's a CD in the drive. A CD-ROM is organized into one or more tracks, each consisting of a certain number of "frames". Each frame is ~2K in size, and at normal playing speed, a CD plays 75 frames per second. SDL works with the number of frames on a CD, but this can easily be converted to the more familiar minutes/seconds format by using the FRAMES_TO_MSF() macro. Here are some examples to get you started.